String
String在Java中实际上是以字符数组的方式进行存储的,并且通过源码可以看出。
1 | java复制代码char val[] = value; |
在String中每次调用都是将它的value重新复制给另一个新的字符数组,所以我们不能更改它原本的值,而且value也不能被子类继承,所以String是不可更改的。
有一种情况String的值可以进行修改【反射】。后面在说
String类中的属性
1 | java复制代码public final class String implements java.io.Serializable, Comparable<String>, CharSequence { |
1 | java复制代码/* |
1 | java复制代码//String str = "abc"; |
构造函数
1 | java复制代码/*无参构造*/ |
String类的方法
hashCode
获取字符串的hash码
1 | java复制代码//String中的hashCode |
equals
字符串进行比较,看是否相等
1 | java复制代码//Object中的equals |
charAt
获取想要位置的字符
1 | java复制代码public char charAt(int index){ |
substring
剪下一段字符串
1 | java复制代码public String substring(int beginIndex){ |
indexOf
查找字符在字符串中的位置
1 | java复制代码public int indexOf(int ch/*传入字符时自动转化为int*/){ |
replace
替换字符
1 | java复制代码public String replace(char oldChar, char newChar){ |
trim
去除字符串中两头的空格,在ASCII码中,空格是可见字符的最小值。
1 | java复制代码public String trim(){ |
split
按照给定的规则将字符串分割成数组
1 | java复制代码public String[] split(String regex){ |
如果没有使用第51行的代码的话将会造成下面的这个结果
1 | java复制代码"boo:foo:boo".split("0",0) |
本文转载自: 掘金