4.Java常见的类

1.number类的方法

  1. xxxValue()  将number对象转换为XXX数据类型
  2. compareTo()  
  3. equals()    
  4. valueOf()   
  5. toString()   以字符串形式返回值
  6. parselnt()   字符串解析成int类型
  7. abs()   
  8. ceil()
  9. floor()
  10. rint()
  11. round)
  12. min()
  13. max
  14. exp()
  15. sqrt()   算数平方根
  16. sin()
  17. cos()
  18. tan()
  19. asin()
  20. acos()
  21. atan()
  22. atan2()    笛卡尔坐标转为极坐标
  23. toDegree()   参数转为角度
  24. toRadians()   角度转为弧度
  25. random()   随机数

2.character类

  1. isLetter() 是否是字母
  2. isDigit()  是否是数字字符
  3. isWhitespace()  是否是一个空格
  4. isUpperCase()  是否是大写字母
  5. isLowerCase()  是否是小写字母
  6. toUpperCase() 指定字母的大写形式
  7. toLowerCase() 指定字母的小写形式
  8. toString()  返回字符串

3.string类

注意:string类一旦创建不能修改,StringBuffer、StringBuilder类可以修改

 

 

4.StringBuffer、StringBuilder类

  1. StringBuilder线程不安全,速度快(不考虑安全,多数情况经常有)
  2. 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)    收藏  举报