String类属于java.lang类 String类代表字符串,也是实际工作学习中最常用的类,“”双引号代表String类对象,引起来的叫字符串常量对象,这种东西被存储在常量池内存空间中 常量池:专门用来存储字符串常量对象的
String类的特点
1.字符串不变:string出来的值不可改变 2.因为String对象是不可变的,所以它们可以被共享 3.“abc” 等效于 char[] data ={‘a’,‘b’,‘c’} jdk8及以前 :String 内部使用的就是字符数组 jdk9及以后: String 内部使用的是字节数组
String构造方法
public String(): 空白构造 public String(char[] chs) : 根据构造方法字符数组chs,创造一个字符串对象 public String(byte[] bs) : 根据构造方法字节数组bs,创造一个字符串对象 public s =“abc” ;直接赋值的方式创建字符串对象,内容abc 主要说23构造方法,4的话经常用,也没什么可说的 23举例子,因为用的少,反而容易忽视最底层的字符,字节 (ps:字节与字符的区别 1.字节 即byte 是计算机存储的最基本的计量单位,表示数据量的多少,八位 — bit,位 2.字符 是指计算机中使用的文字和符号,例如1,2,3 ,A,B,C,%^&这些 UTF-8中一个英文字符等于一个字节,一个中文等于三个字节 char 在Java中是2个字节,java采用unicode,2个字节表示一个字符 ) 2.字符构造方法
char[] chs ={'a','b','c'};
String s = new String(chs);
System.out.println(s);
3.字节构造方法
byte[] bytes = {1, 2, 3, 4};
String s2 = new String(bytes);
System.out.println(s2);
String的一些方法
- s.length() 获取s的字符串的数量
- s.concat() 将指定的字符串连接到该字符串的末尾
- public char charAt(int index) 返回指定索引处的char值
- public int indexOf(String str) : 返回指定子字符串第一次出现在该字符串内的索引 s.indexOf(s2),查找s2在s1中第一次出现的位置,如果不存在返回-1
- public String substring(int beginIndex) 返回一个子字符串,从beginIndex开始截取字符串到字符串结尾 s.substring(5) 截取s1字符串从索引5一直到最后的内容
- public String substring(int beginIndex,int endIndex): 返回一个子字符串,从beginIndex到endIndex截取字符串,含beginIndex,不含endIndex.
s.substring(5,10) 截取s字符串从索引5开始一直到索引10之间的内容(包含5,不包含10)。 - Integer.valueOf(String str): 从字符串转为int类型
- trim() : 去除字符串开头和结尾的空白字符(tab,空格等)
- split()字符串的切割,切割成几个字符串,为数组形式
- boolean startsWith(String str) : 布尔类型,判断是否以String str 字符串str作为开始 ,同理有 boolean endwWith(String str) :常用于判断文件后缀
- toUpperCase()和toLowerCase() : 统一转换为大写或者小写
- toString()和valueOf() 的区别 : xx对象.toString() :必须先创建对象,再调用对象的toString()方法 String.valueOf(xx对象):静态方法,不需要创建任何对象,就可以调用 ,多数用valueOf(),避免空指针异常
- 字符串与字符数组之间的 变换
str.toCharArray();将一个字符串转换为字符数组 char chr[] =str.toCharArray(); 字符数组转为字符串 :public String(char[] value) PublicString(char[] value,int offset,int count) String str2 = new String(char,0,3) 将部分字符数组变为String - 字符串与字节数组的变换
byte[] b = str.getBytes(); 将字符串变为byte数组 String str1 = new String(b,1,3) ; 将部分的byte数组转变为字符串 - String replace(char oldChar,char newChar) : 替换字符串
- str.lastIndexOf(): 查找字符或者子串最后一次出现的地方
.
|