String
1、String表示字符串类型,属于引用数据类型,不属于基本数据类型。
2、在java中随便使用双引号括起来的都是String对象。例如:"abc","def","hello world!",这是3个String对象。
3、java中规定,双引号括起来的字符串,是不可变的,也就是说"abc"自出生到最终死亡,不可变,不能变成"abcd",也不能变成"ab"
4、在JDK当中双引号括起来的字符串,例如:"abc" "def"都是直接存储在“方法区”的“字符串常量池”当中的。
为什么SUN公司把字符串存储在一个“字符串常量池”当中呢。因为字符串在实际的开发中使用太频繁。为了执行效率,
所以把字符串放到了方法区的字符串常量池当中。
String s1 = "hello";
// "hello"是存储在方法区的字符串常量池当中
// 所以这个"hello"不会新建。(因为这个对象已经存在了!)
String s2 = "hello";
// 分析结果是true还是false?
// == 双等号比较的是不是变量中保存的内存地址?是的。
System.out.println(s1 == s2); // true
String x = new String("xyz");
String y = new String("xyz");
// 分析结果是true还是false?
// == 双等号比较的是不是变量中保存的内存地址?是的。
System.out.println(x == y); //false
toString()
compareTo() -- 比较
charAt() -- 某处的值
contains() -- 前面的包含后面的
equals() -- 比较
equalsIgnoreCase() -- 忽略大小写比较
getBytes()
indexOf() -- 第一次出现的索引 lastIndexOf() -- 最后一次出现的
isEmpty() -- 是否为空
lenth() -- 长度
replace() -- 替换
split() -- 拆分
startsWith(); -- 以什么开始
subString() -- 截取字符串
toCharArray()
toLowerCase() -- 转换为小写
toUpperCase() -- 转换为大写
tirm() -- 空格
valueOf -- 将不是字符串的东西 转换成字符串
原文:https://www.cnblogs.com/zhangbl55666/p/13630088.html