Java 常用类(八)

Java 常用类:

  1. String、StringBuffer和StringBuilder
    常用的转换方法:
    subSequence(int start, int end):返回一个新的字符序列,它是该序列的子 序列。

substring(int start):返回一个新的String,包含此字符序列中 当前包含的字符的子序列。

substring(int start, int end):返回一个新的String,包含此序列中当前 包含的字符的子序列。

toString():返回表示此序列中数据的字符串。

总结:
1、String 类对象不可变,一旦修改 String的值就是隐形的重建了一个新的对象,释放了原String对象
2、StringBuffer和StringBuilder类是可以通过append()、insert()、reverse()…等方法来修改值。创建 的对象是可变
3、StringBuffer:线程安全的; StringBuilder:线程非安全的
4、字符串连接 String 的 + 比 StringBuffer(StringBuilder) 的 Append() 性能差了很多
5、三者在执行速度方面的比较:StringBuilder > StringBuffer > String
String执行速度:
public static void main(String[] args) {
long start=System.currentTimeMillis();
System.out.println(“String开始时间:”+start);
String str1="";
for (int i = 0; i < 10000; i++) {
str1=str1+i;
}
System.out.println(“String长度:”+str1.length());
long end=System.currentTimeMillis();
System.out.println(“String结束时间:”+end);
System.out.println(“String用时:”+(end-start));
}
输出:String开始时间:1625054721873
String长度:38890
String结束时间:1625054722044
String用时:171

StringBuffer执行速度:
public static void main(String[] args) {
long start=System.currentTimeMillis();
System.out.println(“StringBuffer开始时间:”+start);
StringBuffer sbfer=new StringBuffer();
for (int i = 0; i < 1000000; i++) {
sbfer.append(i);
}
System.out.println(“StringBuffer长度:”+sbfer.toString().length());
long end=System.currentTimeMillis();
System.out.println(“StringBuffer结束时间:”+end);
System.out.println(“StringBuffer用时:”+(end-start));
}
输出:StringBuffer开始时间:1625054848853
StringBuffer长度:5888890
StringBuffer结束时间:1625054848919
StringBuffer用时:66

StringBuilder执行速度:
public static void main(String[] args) {
long start=System.currentTimeMillis();
System.out.println(“StringBuffer开始时间:”+start);
StringBuilder sbder=new StringBuilder();
for (int i = 0; i < 1000000; i++) {
sbder.append(i);
}
System.out.println(“StringBuilder长度:”+sbder.toString().length());
long end=System.currentTimeMillis();
System.out.println(“StringBuffer结束时间:”+end);
System.out.println(“StringBuffer用时:”+(end-start));
}
输出:StringBuffer开始时间:1625054924792
StringBuilder长度:5888890
StringBuffer结束时间:1625054924848
StringBuffer用时:56

  1. BigDecimal类:为了能精确表示、计算浮点数,Java提供了BigDecimal类,该类提供了大量的构造器用于创建 BigDecimal对象,包括把所有的基本数值型变量转换成一个BigDecimal对象,也包括利用数字字符串、 数字字符数组来创建BigDecimal对象。
    常用构造器:
    BigDecimal(char[] in):将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符序列。
    char[] cs=new char[] {‘1’,‘2’,‘3’};
    BigDecimal bD1=new BigDecimal(cs);
    System.out.println(“bD1=”+bD1);
    输出:bD1=123

BigDecimal(double val):将 double 转换为 BigDecimal,后者是 double 的二进制浮点值准确的十进制表示形式。
BigDecimal bD2=new BigDecimal(50.0);
System.out.println(“bD2=”+bD2);
输出:bD2=50

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值