String : 定长字符串类
String类代表字符串,字符串不变; 它们的值在创建后不能被更改。
使用双引号""括起来的都是字符串对象,也可以调用方法,例如:"abc".equals()。是直接存储在字符串常量池当中的,jvm垃圾回收器 不会释放常量。
注意: 不适合数据串的频繁修改操作,数据查找效率高。
创建字符串对象有一下几种方式:
//第一种: String s1 = "abc"; String s2 = "abc"+"def"; //s1与s2中存储的是字符串在常量池中的内存地址
对应的内存图如下:
//第二种:用构造方法,new一个字符串对象 String str = new String("qwer");
常用方法:
-
char charAt(int index) 返回 char指定索引处的值。
-
compareTo(String anotherString) 按字典顺序比较两个字符串。
-
String concat(String str) 将指定的字符串连接到该字符串的末尾。
-
boolean contains(CharSequence s) 当且仅当此字符串包含指定的char值序列时才返回true。
-
boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾。
-
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。
-
boolean equals(Object anObject) 将此字符串与指定对象进行比较。 -byte[] getBytes() 使用平台的默认字符集将此 String编码为字节序列,将结果存储到新的字节数组中。
-
-byte[] getBytes(Charset charset) 使用给定的charset将该String编码为字节序列,将结果存储到新的字节数组中。
-
-int indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引。
-
-boolean isEmpty() 返回 true如果,且仅当 length()为 0 。
-
-int length() 返回此字符串的长度。
-
-boolean matches(String regex) 告诉这个字符串是否匹配给定的 regular expression
-
-String replace(char oldChar, char newChar) 返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 。
-
-String replaceAll(String regex, String replacement) 用给定的替换替换与给定的 regular expression匹配的此字符串的每个子字符串。
-
-String[] split(String regex) 将此字符串分割为给定的 regular expression的匹配。
-
-String substring(int beginIndex) 返回一个字符串,该字符串是此字符串的子字符串。
-
-String substring(int beginIndex, int endIndex) 返回一个字符串,该字符串是此字符串的子字符串。
-
-String toLowerCase() 将所有在此字符 String使用默认语言环境的规则,以小写。
-
-String toUpperCase() 将所有在此字符 String使用默认语言环境的规则大写。
-
-String trim() 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。
-
-static String valueOf(Object obj) 返回 Object参数的字符串 Object形式