2022.02.04每日一考String类相关

2022.02.04每日一考

1.画出如下几行代码的内存结构:

String s1 = "hello";

String s2 = "hello";

String s3 = new String("hello");

s1 += “world”;

 

 

 

 

 

2.如何理解String类的不可变性

 String是一个final类,代表不可变的字符序列。

String的对象赋值采用的是字面量赋值的方式,存在于字符串常量池中,如果要重新赋值,是在字符串常量池中新增,原先的不变。

 

String的对象赋值采用的是字面量赋值的方式,存在于字符串常量池中,如果要修改,是在堆空间中new一个String对象指向字符串常量池中新的修改后的字符串,原先的不变。

String类是否可以被继承?为什么?

不能被继承,因为它是final修饰的类。

 

String s = new String(“hello”);在内存中创建了几个对象?请说明

两个

 

 

 

4. String,StringBuffer,StringBuilder三者的对比

String:不可变字符串,效率低

StringBuffer:可变字符串,线程安全,效率较低

StringBuilder:可变字符串,线程不安全,效率较高

 

底层结构都是char型的数组,String加了final。

5. String的常用方法有哪些?(至少7个)

length

isEmpty

charAt(int index)

String replace(char oldChar, char newChar) 

String[] split(String regex, int limit)

String toLowerCase()

String toUpperCase()

String valueOf

posted @   Fancy[love]  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示