Java常用类——String

Java常用类——String

String的特性

  • final类,表示不可变的字符序列
  • 字符串是常量,创建后不可更改
  • ==比较地址值,.equals()比较字符串值

String不可变性

方法区的字符串常量值不会变,体现在:

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

String的实例化方式

  1. 通过字面量定义
String s1 = "abc";

此时"abc"在常量池中,s1指向常量池中的地址。

  1. 通过new+构造器的方式
String s2 = new String("abc");

此时"abc"在常亮池中,s2.value在堆内存中,s2指向堆内存的地址

IDEA中,Alt+Shift+S实现构造器

String常用方法

  • int length()

  • char charAt(int index)

  • boolean isEmpty()

  • String toLowerCase()

  • String toUpperCase()

  • String trim():返回字符串副本,忽略前后空格

  • boolean equals(Object obj)

  • boolean equalsIgnoreCase(String anotherString)

  • int compareTo(String anotherString):比到不一样的位置,原字符串减参数字符串

  • String substring(int beginIndex):取子串

  • String substrng(int beginIndex, int endIndex)

  • boolean endsWith(String suffix)

  • boolean startsWith(String prefix)

  • boolean startsWith(String prefix, int toffset)

    boolean contains(CharSequence s)

  • int indexOf(String str):未找到返回-1,下同

  • int indexOf(String str, int fromIndex)

  • int lastIndexOf(String str)

  • int lastIndexOf(String str, int fromIndex)

  • String replace(char oldChar, char newChar)

  • String replace(CharSequence target, CharSequence replacement)

  • String replaceAll(String regex, String replacement):匹配正则表达式

  • String replaceFirst(String regex, String replacement)

  • boolean matches(String regex)

  • String[] split(String regex)

  • String[] split(String regex, int limit): 子串数超过limit,剩下都放一起

String与其他类型转换

String与基本数据类型转换

String转基本数据类型

例如Integer中的

public static int parseInt(String s)

其他Byte、Short、Long、Float、Double都有对应

基本数据类型转String

例如String类中的

public String valueOf(int n)

其他byte、long、float、double、boolean同理

String与char数组转换

char数组转String

调用构造器:

  • String(char[])
  • String(char[], int offset, int length)

String转char数组

  • public char[] toCharArray()
  • public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

String与byte数组转换

byte数组转String

调用构造器,同char,也可指定解码集

String转byte

  • public byte[] getBytes()
  • public byte[] getBytes(String charsetName)
posted @ 2021-01-16 15:03  一天到晚睡觉的鱼  阅读(110)  评论(0)    收藏  举报