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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)