4.Java常见的类
1.number类的方法
- xxxValue() 将number对象转换为XXX数据类型
- compareTo()
- equals()
- valueOf()
- toString() 以字符串形式返回值
- parselnt() 字符串解析成int类型
- abs()
- ceil()
- floor()
- rint()
- round)
- min()
- max
- exp()
- sqrt() 算数平方根
- sin()
- cos()
- tan()
- asin()
- acos()
- atan()
- atan2() 笛卡尔坐标转为极坐标
- toDegree() 参数转为角度
- toRadians() 角度转为弧度
- random() 随机数
2.character类
- isLetter() 是否是字母
- isDigit() 是否是数字字符
- isWhitespace() 是否是一个空格
- isUpperCase() 是否是大写字母
- isLowerCase() 是否是小写字母
- toUpperCase() 指定字母的大写形式
- toLowerCase() 指定字母的小写形式
- toString() 返回字符串
3.string类
注意:string类一旦创建不能修改,StringBuffer、StringBuilder类可以修改
4.StringBuffer、StringBuilder类
- StringBuilder线程不安全,速度快(不考虑安全,多数情况经常有)
- StringBuffer线程安全,速度慢
注意:StringBuffer和StringBuilder创建后,还能够修改
如果要求线程安全,则使用StringBuffer,若要求速度快,则使用StringBuiler
(线程安全:多线程访问时,采用加锁机制,当一个线程访问该类的数据时,进行保护,其他线程不能进行访问知道该线程读取完,其他线程才能使用。不会出现数据不一致或者数据污染。线程不安全,就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据)
比较string、stringBuilder、stringbuffer的区别
首先三者主要输在运行速度和线程安全这两位方面。
string:是一个java类,是一个字符串常量,声明是:public final ,所以final的话是改变不了的。字符串值改变不了,就只能在内存创建一个空间来保存新的字符串。所以一旦遇到复杂的操作,用string是多么低效率的事啊。
StringBuilder和StringBuffer有公共类AbstractStringBuilder(抽象类)。
1、执行速度上比较(快慢):stringbuilder>stringbuffer>string
原因(也就是变量和常量的关系):string为字符串常量,后两个是字符串变量,也就是说string对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。而不进行创建和回收,所以速度要比string快很多。
2、线程安全上比较:stringbuilder是线程不安全的,而stringbuffer是线程安全的。
原因:String:对象定义后,线程安全。
stringbuffer对象在字符串缓冲区被多个线程使用时,stringbuffer中有很多可以带有synchronize关键字,所以可以保证线程是安全的。
stringbuilder的方法则没有该关键字,所以不能保证线程安全,有可能会出现一些错误。
建议:如果要进行操作的是多线程,那就使用stringbuffer,但在单线程的情况下,还是建议使用速度较快的stringbuilder。
posted on 2019-07-30 21:58 123liang2996 阅读(109) 评论(0) 收藏 举报
浙公网安备 33010602011771号