当前位置: java基础教程 > 08-java.lang核心包 > 阅读正文

String — 字符串类型

2021.2.18.   562 次   1922字

String 类是基本数据类型之一,但用的较多,故多了解一下

String 是一种常量,效果上相当于字符数组,底层原理是字节数组

1.构造方法

有 3种构造方法,1种直接创建

String str1 = new String(""); //里面没有双引号时,也是空字符串

char[] charArray = {'A','B','C'};
String str2 = new String(charArray); //根据字符数组创建

byte[] byteArray = {97,98,99};
String str3 = new String(byteArray); //根据字节数组创建

String str4 = "hehe";  //根据双引号直接创建

直接创建的字符串,会进入字符串常量池,可以使用 == 判断

2.方法

1.比较内容是否相同

String str1 = new String("hehe");
String str2 = new String("hehe");
System.out.println(str1 == str2); //false
System.out.println(str1.equals(str2));//true

//比较内容是否相同,忽略字母大小写
String str3 = new String("hehe");
String str4 = new String("HeHe");
System.out.println(str3.equals(str4)); //false
System.out.println(str3.equalsIgnoreCase(str4)); //true

(如果前面的字符串值是null,那么会报空指针异常)

2.字符串获取长度,单个字符,子串位置

int length = "fdsaagweffdsvcv".length();
System.out.println("字符串的长度是:"+length);

//获取指定索引的单个字符
char ch = "Hello".charAt(1);
System.out.println(ch); //e

//获取子串在首次位置
String old = "HelloWorld";
int index1 = old.indexOf("l");   //从左边开始
int index2 = old.lastIndexOf("l"); //从右边开始
System.out.println(index1); //2
System.out.println(index2); //8

3.拼接字符串

String str1 = "Hello";
String str2 = "World";
String str3 =  str1.concat(str2);
System.out.println(str3);  // HelloWorld

//简化写法,使用 str3 = str1 + str2;

4.字符串的截取

String str1 = "HelloWorld";
String str2 = str1.substring(5); //从开始位置到结束
String str3 = str1.substring(0,5); //给定开始位置和结束位置
System.out.println(str2); // World
System.out.println(str3); // Hello

5.字符串的转换

char[] chars = "Hello".toCharArray(); //转换为字符数组
System.out.println(Arrays.toString(chars));

byte[] bytes = "Hello".getBytes();  //转换为字节数组
System.out.println(Arrays.toString(bytes));

String str1 = "How old are you?";
String str2 = str1.replace("o","*"); //字符串内容的替换
System.out.println(str2);//H*w *ld are y*u?

6.字符串的分割

String str1 = "aaa,bbb,ccc";
String[] array1 = str1.split(",");  
//参数是个正则表达式,报错后无法分割,如果是"."不能这么写,而是"\\."
System.out.println(Arrays.toString(array1));

7.判断此字符串的开头和结尾

String s = "Hello,Java.txt";
boolean b1 = s.startsWith("He");
  //是否以He开头
System.out.println(b1);     //true
boolean b2 = s.endsWith(".txt"); 
 //是否以.txt结尾
System.out.println(b2);     //true

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群