String基本介绍:
1.String被声明为final,不可被继承;
2.String实现了Serializable接口,表示字符串是支持序列化的;
3.String实现了Comparable接口,表示字符串是可以比较的;
4.String 内部声明了final char value[],数据存储在char[]数组中;
5.通过字面量方式(区别于new)给字符串赋值,此时字符串值地址声明在字符串常量池中;
6.字符串常量池中是不会存储相同内容的字符串;
7.当对字符串进行赋值和连接操作时,必须重新指定内存区域赋值,不能使用原有的value赋值;
java.lang.String
类 String 类代表字符串。Java 程序中的所有字符串字面值,都作为此类的实例实现。 字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。 因为 String 对象是不可变的,所以可以共享。
String的一些方法
int length();
返回字符串的长度
return value.length;
char charAt(int index);
返回某索引处的字符
return value[index];
boolean isEmpty();
判断字符串是不是空串
return value.length==0;
String toLowercase();
使用默认语言环境,将String中所有的字符转为小写
String toUppercase();
使用默认语言环境,将String中所有的字符转为大写
String trim();
返回字符串的副本,忽略前导空白和后导空白
只去出字符串前面和后面的空格,而不删除字符串中间的空格
可用于输入用户名查找时,如果客户在输入的名字前多输了空格或者在名字后面多输了空格,这个时候我们就需要通过这个方法来删除用户名前面和用户名后面的空格,就能保证用户搜索的正确性
boolean equals(Object obj)
比较字符串的内容是否相同
boolean equalsIgnorecase(String anotherString);
这个方法与上面equals()方法类似不同的地方在于这个equalsIgnorecase()方法比较时忽略大小写
String concat(String str);
将制定的字符串连接到此字符串的结尾
等价于使用’+’,所以我们一般不常使用
int compareTo(String anotherString);
比较两个字符串的大小
结果为负数时:当前对象小,参数对象大
结果为正数时:当前对象大,参数对象小
结果为0,两个字符串对象大小相同
这里就涉及到了字符串排序
String substring(int beginIndex);
返回一个截取的字符串
它是从此字符串中从beginIndex索引开始一直到最后截取的一个子串
String substring(int beginIndex,int endIndex);
返回一个截取的字符串
为左闭右开区间截取