javaSE-String
String
String概述
- java.lang.String类代表字符串,String类定义的变量都可以用于指向字符串对象,然后操作该字符串
- java程序中的所有字符串文字(例如:“abc”)都为此类的对象
String类的特点详解
- String其实常被称为不可变字符串类型,它的对象在创建后不可被更改
字符串对象存在哪里?
- 以“”方式给出的字符串对象,在字符串常量池中存储
String是不可变字符串的原理
- String变量的每次修改其实都是产生并指向了新的字符串对象
- 原来的字符串对象都是没有改变的,所以称为不可变字符串
创建字符串对象的两种方式
- 方式一:直接使用 “” 定义。(推荐方式)
String name = “abulivyet” - 方式二:通过String类的构造器创建对象
两种创建字符串的方式有什么区别?
- 以 “” 方式创建出来的字符串对象,在字符串常量池中存储,而且相同的内容只会在其中存储一份。
- 通过构造器new对象,每new一次都会产生一个新新对象,放在堆内存中。
通过 “” 定义字符串内存原理
通过new构造器得到字符串对象内存原理
String常见面试题
- 问题:第一行代码创建了几个对象 2个 “ ”创建出来的对象保存在常量池中,new出来的对象保存在堆内存中
- 第二行代码创建了几个对象 0个
- 运行结果 false
- 问题2
字符串的内容比较
- 字符串的比较不适合用”==“
- 推荐使用String类提供的”equals“比较,只关心内容一样即可
String类常用api
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Abulivyet!
评论