赞
踩
一、String类
1.创建字符串的方式:
(1) String s1 = “hello”; // 只会创建一个对象,在串池中产生
(2) String s2 = new String(“world”); // 产生两个对象。一个在堆空间中,一个在串池中产生。
注意:如果串池中已经存在的字符串对象,不会重复创建。
2.String类中常用方法:
(1) char charAt(int index):根据下标获取对应的字符。
注意:String类中封装了一个 char类型数组,下标范围 0~字符串的长度-1,如果指定的下标超出下标范围,则运行报错,错误信息为:java.lang.StringIndexOutOfBoundsException(数组下标越界)
(2) boolean contains(String str):判断一个字符串中是否包含 str子串,包含-true;否则-false.
(3) boolean equals(String str):比较两个字符串内容是否相同,相同-true;否则-false.
注意:开发时,比较字符串内容,需要用 equals方法比较。
(4) int length() : 获取字符串的长度。
注意:获取数组的长度:数组名.length ;
String s = "hello";
for(int i=0;i<s.length();i++){
// 通过下标获取 对应的字符:charAt
char c = s.charAt(i);
System.out.println(c);
}
(5) String trim() : 去除字符串前后的空格。
注意:应用场景结合 :将String转换int/Integer时应用
String age = "18 “;
int n = Integer.parseInt(age.trim());
(6) String[] split(String str) : 将当前字符串进行拆分,拆分结果封装为一个String类型的数组。
3.String的不可变性【面试题目】
(1) String的字面值是字面常量,如果在字符串上进行操作,在原有字符串的基础上拷贝一个副文本,在副文本上完成操作(字符串拼接)。
(2) 由于String具有不可变性,所以在完成字符串拼接时,效率较低。
注意: String s = “a” + “b”;
上面的字符串的拼接只创建一个对象。原因:如果+ 两端都为字符串常量时,编译器在编译阶段将"a”+“b” 直接编译为 “ab”,称为编译器可知。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。