常用API(一):Objects类,包装类

Object类

 

45e6735080ce4b5e87e935b6d3a4c4be.jpg

 

Objects类 

Objects的 equals方法

先做非空判断,再比较两个对象

String s1 = "null";
String s2 = "ithema";
System.out.println(Objects.equals(s1,s2));//更安全

Objects的 isNull 方法

判断对象是否为null,为null返回true,反之

System.out.println(Objects.isNull(s1));// true
System.out.println(s1==null);// true
System.out.println(Objects.isNull(s2));//flase
System.out.println(s2==null);// flase

Objects的nonNull方法

判断对象是否不为null,不为null返回true,反之

System.out.println(Objects.nonNull(s1));// flase
System.out.println(Objects.isNull(s2));// true

包装类

就是把基本类型的数据包装成对象

9344b2e06efc4e5f856085501db8a718.png

 

//Interger a1 = new Interger(12);过时了
Interger a2 = Interger.valueOf(12);
System.out.println(a2);//12

自动装箱:可以自动把基本类型的数据转换成对象

Interger a3 = 12;

自动拆箱:可以自动把包装类型的对象转换成对应的基本数据类型

int a4 = a3;

应用:泛型和集合不支持基本数据类型,只能支持引用数据类型

//集合
//ArrayList<int> list = new ArrauList<>();
ArrayList<Interger> list = new ArrayList<>(); 
list.add(12);//自动装箱
list.add(13);
int rs = list.get(1);//自动拆箱

--------------------------------------------------------------------------

把基本类型的数据转换成字符串

Interger a = 23;
String rs1 = Interger.toString(a);// "23"
System.out.println(rs1+1);// 231

String rs2 = a.toString();
System.out.println(rs2+1);

String rs3 = a+"";
System.out.println(rs3+1);

把字符串类型的数值转换成对应的基本类型

String ageStr = "29";
//int ageI = Integer.parseInt(ageStr);//29
int ageI = Integer.valueOf(ageStr);
System.out.println(ageI+1);//30

String scoreStr = "99.5";
//double score = Double.parseDoule(scoreStr);
double score = Double.valueOf(scoreStr);
System.out.println(scoreStr+0.5);

StringBuilder

c31565be98e74d57b936dd130f366674.png

 

1,拼接内容  append(任意类型)

//StringBuilder s = new StringBuilder();无参构造器
StringBuilder s = new SringBuilder("ithema");//有参构造器
//1,拼接内容  append(任意类型)
s.append(12);
s.append("黑马");
s.append(true);
//支持链式编程
s.append(666).append("黑马2").append(666);
System.out.println(s);//ithema12黑马true666黑马2666

2,反转操作

s.reverse();
System.out.println(s);//6662马黑666eurt马黑21amehti

3,返回字符串长度

System.out.println(s.length());

4,把StringBuilder对象又转换成String类型

String rs = s.toString();
System.out.println(rs);

 应用:对于字符串相关的操作,如频繁的拼接,修改等,建议用StringBuilder,比String的性能高

cc741c146b5d47bdb23605948ac6158a.png

 

StringBuilder sb = new StringBuilder();
    for(int i = 0;i<1000000;i++){
        sb.append();
    }
    System.out.println(sb);

StringBuffer和StringBuilder的区别:

StringBuffer和StringBuilder的用法是一模一样的

StringBuffer是线路不安全的,StringBuilder是线路安全的

 StringJoiner和StringBuilder的区别:

         StringJoiner与StringBuilder一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的

        好处:不仅能提高字符串的操作效率,并且在有些场景下使用它操作字符串,代码会更简洁

StringJoiner s = new StringJoiner(", " , "[" , "]");//间隔符号,开始符号,结束符号
s.add("Java1");
s.add("Java2");
s.add("Java3");
System.out.println(s);//[java1,java2,java3]

4b1fc6c55aa241efad8be43a46a0e01c.png

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值