String类:
从概念上讲,java字符串就是Unicode字符序列。
Java没有内置的字符串类型,而是在标准Java类库猴子那个提供了一个预定义类,就叫String。每个用双引号括起来的字符串都是String类的一个实例:
String greeting = "";
检测字符串是否相等
字符串判断是否相等要用equals方法,不要用==,==只能判断是否在同一位置上
字符串是不可变的,String没有提供用于修改字符串的方法,是存储在常量池的,是特殊的,字符串变量可以改变引用不同的字符串。
空串和null串
空串是一个java对象,有自己的串长度(0)和内容(空)。不过,String变量还可以存放一个特殊的值,名为null,这表示目前没有任何对象与该变量关联:
判断字符串要检查一个字符串既不是null也不为空串(对象长度为0):
If(str != null && str.length() != 0){ };//空串是长度为0的字符串
如果是其他的对象,只需要判断是否为null就可以了。String 是比较特殊的。
如果需要较短的字符串构建字符串,就用StringBuiler();尽量不要用+
String类:
构造方法:
a.String(String original):传入一个String类型的数据把它封装成String类型的对象
b.String(char[] value):传入一个char[]数组 把这个数组封装成String类型的对象
c.String(char[] value, int index, int count):传入一个字符数组,根据后面的索引把这个字符数组的一部分封装成String类型的对象
int index: 起始索引位置 int count:截取多少个元素
直接赋值:
String str = "字符串数据";
成员方法(行为,功能):
判断功能:
boolean equals(Object obj): 比较字符串对象和传入的参数的内容是否相等;-->登录判断(用户名和密码)
boolean equalsIgnoreCase(String str): 比较字符串对象和传入的参数的内容是否相等,忽略大小写;(验证码校验)
boolean startsWith(String str): 判断字符串对象是否以传入的字符串开头;(判断姓氏)
boolean endsWith(String str): 判断字符串对象是否以传入的字符串结尾;(判断文件的后缀)
获取功能:
int length(): 返回字符串的长度(字符串中字符的个数)
char charAt(int index): 根据传入的索引编号,返回该索引位置上的字符;
int indexOf(String str): 根据传入的字符串,判断这个传入的字符串在字符串对象中第一次出现的索引位置;
String substring(int start): 从传入的索引编号开始截取字符串对象数据直到结尾
String substring(int start,int end): 从传入的start号索引开始截取字符串数据到end索引位置结束;
包括start索引位置不包括end索引位置上的元素;
转换功能:
char[] toCharArray(): 把字符串数据转换成为字符数组;
String toLowerCase(): 把字符串数据全部转换成小写字符串数据;
String toUpperCase(): 把字符串数据全部转换成大写字符串数据;
字符串的遍历:
1.使用length()和charAt(int index)配合完成
String str = "字符串数据";
for(int x = 0;x < str.length();x++){
System.out.println(str.charAt(x));
}
2.把字符串数据转换成字符数组,遍历数组即可
String str = "字符串数据";
char[] chs = str.toCharArray();
for(int x = 0;x < chs.length;x++){
System.out.println(chs[x]);
}
字符串的其他功能:
String trim(): 去除字符串数据两端的空格
String[] split(String str): 根据传入的字符串数据切割字符串对象,返回的是切割后的字符串数组;
StringBuilder: 用于操作字符串数据的类; StringBuilder是一个容器(装的是字符串类型的数据)长度可变;
构造方法:
StringBuilder sb = new StringBuilder(); //构造一个空的StringBuilder对象
StringBuilder sb = new StringBuilder(String str); //根据传入的String类型的数据构造一个内容为str的StringBuilder对象;
重要方法:
append(任意类型): 拼接StringBuilder的数据返回本身;
reverse(): 把StringBuilder对象的内容一键反转;
StringBuilder和String类型之间的转换:
StringBuilder ---> String
1.StringBuilder对象.toString();
2.StringBuilder对象+"";
String --> StringBuilder
1.使用StringBuilder的构造方法
StringBuilder sb = new StringBuilder(String str);