String: (String类代表字符串.java程序中的所有字符串字面值(如"abc")都作为此类的实例实现).
字符串是常量,它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为String
对象时不可变的所以可以共享.例如:String str = "abc"
面试题:下列说法是否正确
a:字符串字面值"abc"也可以看成是一个字符串对象.
b:字符串是常量,一旦被赋值,就不能改变
正确; String str = "abc";
String str = new String();
"abc"等效于new String();因此"abc"可以看成一个字符串对象,当给str进行二次赋值的时候,相当于新创建了一个
对象,原来的字符串就变成了垃圾;
System.out.println(str); 因为String类重写了toString方法所以返回的是对象本身,而不是地址值
常用方法:
(掌握)
String类的构造方法
public String():空参构造
public String(byte[] bytes):把字节数字转换成字符串
public String(byte[] bytes,int index,int length):把字节数组的一部分转换成字符串
public String(char[] value):把字符数组转换成字符串
public String(char[] value,int index,int count):把字符数组的一部分转换成字符串
public String(String original):把字符串常量值转换成字符串
String的获取功能
int length():获取字符串的长度.
char charAt(int index):获取指定索引位置的字符
int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引
int indexOf(int ch,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引
lastIndexOf
String substring(int start):从指定位置开始截取字符串,默认到末尾
String substring(int start,int end):从指定位置开始到指定位置结束截取字符串
*注意:包含头不包含尾
String的判断功能
boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean contains(String str):判断大字符串是否包含小字符串
boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
boolean endsWith(String str):判断字符串是否以某个指定的的字符串结尾
boolean isEmpty():判断字符串是否为空
String的替换功能(用新字符替换旧字符,如果原字符中没有要替换的元素,原字符串保持不变)
String replace(char old,char new)
String replace(String old,String new)
String的去除字符串两头空格及案例演示(一般用于用户登录程序中)
String trim()
byte[] getBytes():把字符串转换为字节数组
char[] toCharArray():把字符转换为字符数组
static String valueOf(char[] chs):把字符数组转换成字符串
static String valueOf(int i):把int类型的数据转成字符串
*注意:String类的valueOf方法可以把任意类型的数据转成字符串
(了解) String的大小,按字典顺序比较两个字符串
int compareTo(String str)
int compareToIgnoreCase(String str)
String toLowerCase():把字符串转成小写
String toUpperCase():把字符串转成大小
String concat(String str):把字符串拼接 |
|