Java SE-String/StringBuffer

常用实用类-String/StringBuffer

String类

String类的创建和赋值

创建:可以用

  • new方法
  • “***”
  • 其它字符串
  • 字符数组来创建一个String类对象。

赋值:注意String类对象是引用对象,也就是说是一个引用(值的地址),即我们:

String s1 = "hello";//字符串常量创建,本质上存在常量池
String s2 = "hello";
String s3 = new String("hello");//new方法创建,本质上存在堆栈区

则s1 s2两个变量本质上指向同一个地址空间,空间值为"hello";而s3是用new创建的,值在堆栈区的单元里,因此s3指向的不是同一个地址。因此有:

s1==s2;
s1!=s3;
s1.equals()==s3.equals();

常用方法

int length();
boolean equals(String s);//是否完全相同
boolean startsWith(s)/endsWith(String s);//比较调用字符串是否是以s字符串开头/结尾的
int compare(String String s);//按字典序比较字符串,小于是<0,等于是=0
boolean contains(s);//是否包含字符串s
int indexOf(String s);//是否包含s,包含则返回出首次现在第几个位置,变种是再加一个参数int start,描述从第几个位置开始找
int lastIndex(String s);
String subString(int start);//截取子串
String subString(int start,int end)//从start截到end-1位置的字符串,不包括end
String trim();//去空格

字符串与其他类型的转化

  • String->int: static int parseInt(String s);
  • int->String: static String valueOf(int n);
  • 此外,类似的还有 parseFloat/parseDouble/parseShort()等等,在java.lang包;
  • 此外,类似的还有 valueOf(float/double/......)等等,都是String提供

类的对象信息的字符串表示

任何类都是object类的子类,toString()是object的方法,因此可被所有对象使用

使用 toString()可以打印出该对象在哪个包/类创建出的,在内存中的引用值是多少的信息。

字符串转字符数组、字节数组

  • 使用 void getChars(int start,int end,char c[],int offset)可以把字符串里start~end-1的字符存到c字符数字中,且从c[]的offset开始存。使用时必须要求char c[]已经被分配空间了
  • 使用 char[] toChar()直接把整个字符串转成字符数组,不要求有一个分配空间的字符数组。

字符串匹配正则表达式

boolean matched (String regex)//确定字符串是否匹配给定正则表达式。
String replaceAll(String regex,String s) //可以将字符串中匹配正则的部分全部替换成s。
String[] split(String regex) //按照规则分割

正则表达式基础 【略】

StringBuffer类

与String的区别:String对象创建后不允许改变,而StringBuffer可以改变。

常用以下方法:

StringBuffer append(String/int/long/char....);
void setCharAt()//改变一个字符
StringBuffer insert(int index,String str);
StringBuffer repalce(int index,String str);
    
posted @ 2023-02-13 14:58  丘丘王  阅读(15)  评论(0编辑  收藏  举报
鼠标点击页面特效

尝试在空白处点击鼠标