String引用类型
一、前言
1、String表示字符串类型,属于 引用数据类型,不属于基本数据类型。
2、在java中随便使用 双引号括起来 的都是String对象。
例如:“abc”,“def”,“hello world!”,这是3个String对象。
3、java中规定,双引号括起来的字符串,是 不可变 的,也就是说"abc"自出生到最终死亡,不可变,不能变成"abcd",也不能变成"ab"。
4、在JDK当中双引号括起来的字符串,例如:“abc” "def"都是直接存储在“方法区”的“字符串常量池”当中的。
5、为什么SUN公司把字符串存储在一个“字符串常量池”当中呢?
因为字符串在实际的开发中使用太频繁。为了执行效率,所以把字符串放到了方法区的字符串常量池当中。
6、当引用类型碰上基本类型,内容会被拼接。
注意:字符串对象之间的比较不能使用“== ”,"=="不保险。应该调用String类的equals方法。
1.为什么 System.out.println(引用) 会自动调用toString()方法?
因为println()会调用String.valueOf()方法而String.valueOf()会调用toString()方法
2.String byte数组 理解
byte[] b = new byte[1000000000];//有1000000000都是byte类型的
案例: