JAVA常用类_String

Posted javasds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA常用类_String相关的知识,希望对你有一定的参考价值。

 

String:

一、定义

1.字符串,声明为final的,不可被继。

2.实现了Serializable接口:表示字符串是支持序列化的。
   实现了Comparable接口:表示String可以比较大小

 

二、特性

1.String的不可变性  

  1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。
  2.当对现的字符串进行连接操作时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值。
  3.当调用String的replace()方法修改指定字符或字符串时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值。

2.String实例化的不同方式

  方式一:通过字面量定义的方式:数据声明在方法区中的字符串常量池中。

  方式二:通过new + 构造器的方式:保存的地址值,是数据在堆空间中开辟空间以后对应的地址值。

 

3.常用方法:

 

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方法类似,忽略大小写
String concat(String str):将指定字符串连接到此字符串的结尾。 等价于用“+”
int compareTo(String anotherString):比较两个字符串的大小
String substring(int beginIndex):返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。
String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。

boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束
boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始
boolean startsWith(String prefix, int toffset):测试此字符串从指定索引开始的子字符串是否以指定前缀开始

boolean contains(CharSequence s):当且仅当此字符串包含指定的 char 值序列时,返回 true
int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引
int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索

注:indexOf和lastIndexOf方法如果未找到都是返回-1

替换:
String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所 oldChar 得到的。
String replace(CharSequence target, CharSequence replacement):使用指定的字面值替换序列替换此字符串所匹配字面值目标序列的子字符串。
String replaceAll(String regex, String replacement):使用给定的 replacement 替换此字符串所匹配给定的正则表达式的子字符串。
String replaceFirst(String regex, String replacement):使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
匹配:
boolean matches(String regex):告知此字符串是否匹配给定的正则表达式。
切片:
String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit):根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。

 

三、String与其他结构的转换

1 .与基本数据类型、包装类之间的转换

  String --> 基本数据类型、包装类:调用包装类的静态方法:parseXxx(str)

       基本数据类型、包装类 --> String:调用String重载的valueOf(xxx)

2.与字符数组之间的转换

  String --> char[]:调用String的toCharArray()

       char[] --> String:调用String的构造器

3.与字节数组之间的转换

  编码:String --> byte[]:调用String的getBytes()

  解码:byte[] --> String:调用String的构造器

  编码:字符串 -->字节 (看得懂 --->看不懂的二进制数据)
  解码:编码的逆过程,字节 --> 字符串 (看不懂的二进制数据 ---> 看得懂

说明:解码时,要求解码使用的字符集必须与编码时使用的字符集一致,否则会出现乱码。

 

 

以上是关于JAVA常用类_String的主要内容,如果未能解决你的问题,请参考以下文章

Java常用类__装箱/拆箱

Java基础工具_常用类——日期类

Java_常用类14_Calendar类

Java_常用类09_Random类

Java基础工具_常用类——数学相关类

Java_常用工具类收集