在java程序中只所有字符“”号就是实现类
Sstring中 双引号里的值定以后不可改变 (因为String中的值被final修饰过 , 在内存中被final修饰过得值存放在常量池中)final:一次赋值 永远不变
被final修饰后的成员变量放在常量池中. 常量池中发现有相同的值时不会再创建。
String str1=“abc”
String str=new String(“abc”);在内存中, new里面存放的是常量池中对象的地址值
现在str1跟str的地址值是一样的 因为常量池中发现了有相同值时不会再创建 会把地址复制给new中
String类中的构造方法
在ASLL表中:数字对应字符 (48: ‘0‘) (65 ‘A’) (97 ‘a‘)
byte【】bb={12,21,12,2};
String ss=String(bb);将字节数组转成字符串 当里面的数是整数时走Asll表。 如果是负数走的是系统默认的码表gbk码表一个汉字两个字节
String(byte,1,2)从下标1开始转两个字节,包头包尾
String(chars)字符数组转字符串
String(chars,2,2)从下标2开始,转2个字符
String类中的几个方法
indexOf()获取字符串第一出现的索引值 没有返回-1 返回值是int
endsWith()判断字符串以什么结尾 返回值boolean
char[] ch=str.tocharArray();
tocharArray():将字符串转成字符数组
这个方法与上面的构造方法正好相反,上面是 数字 变成字母(数字得是整数) 下面是字母转数字
String str=new String(“java,php,dd jks”);
byte[] by=str.getBytes();
getBytes():方法将字符串 转成字节数组
https://tool.oschina.net/commons?type=4 Asll码表网址
Object类
equals()方法比较的是属性值(内容)。但自己创建的类需要重写equals()方法 不重写比较的则是地址值
==等号两边是基本数据类型比较的是属性值(内容)如果是引用类型比较的则是地址值
tostring()方法打印属性内容 但自己创建的类需要重写
原文:https://www.cnblogs.com/xkyy/p/13759202.html