String对象用于保存字符串,也就是一组字符序列
"jack" 字符串常量,用双引号括起来的字符序列
字符串的字符用Unicode字符编码,一个字符(无论字母汉字)占两个字节
String类有很多构造器
常用的有 String s1 = new String();
String s2 = new String(String original);
String s3 = new String(char[] a);
String s4 = new String(char[] a, int startIndex, int count);
String s5 = new String(byte[] b);
a. String类实现了接口 Serializable, 说明String可以串行化:可以在网络传输
b. 还实现了接口Comparable,String对象可以比较大小
String是final类,不能被其他类继承。
String有属性 private final char value[]; 用于存放字符串内容
一定要注意:value是一个final类型,不可以修改 即value不能指向新的地址,但单个字符内容可以变化。
方式一: 直接赋值 String s = "hsp";
方式二: 调用构造器 String s2 = new String("hsp");
如果字符串常量池里存在一个和当前字符串对象等价的字符串对象(equals==true认为相同),那么返回字符串常量池里那个对象.如果不存在,把当前字符串对象存进常量池, 返回当前字符串对象.
即str.intern()方法最终返回的是常量池的地址.
本文章使用limfx的vscode插件快速发布