一、String类
1、构造字符串对象
首先要注意的是java把String类声明为final类是不能扩展的。
字符串的创建:
String s = "We are student"; //引用
String s = new String("We are student");
两个常用的构造方法:
(1) String (char a[ ])
char a[ ] = {'a','b','c'};
String s = new String(a);
相当于:
String s = new String("abc");
(2) String(char a[ ],int starIndex,int count)截取starIndex至count之间的字符。
char a [ ] = {'一','二','三','四','五','六','七','八'};
String s = new String(a,2,4); //从0开始
相当于:
String s = new String("三四五");
2、String类常用方法
(1) public int length() 该方法可以获取字符串长度
String s = "We are family";
n = s.length();
n的值为13。
(2) public boolean equals(String s) 该方法可以比较两个字符串的实体是否相同
String a = new String("你好么");
String b = new String("你好么");
String c = new String("你吃了么");
a.equals(b)的值为true,a.equals(c)的值为false
这里要注意以下的是==这个符号,a==b的值是false,因为a和b的引用不同,也就是内存地址不同,equals是只比较实体的所以实体相等则为true。
(3) public boolean startsWith(String s) 判断前缀是否相同;
public boolean endsWith(String s) 判断后缀是否相同。
String a = "今天天气很不错"; String b = "适合去郊游";
a.startsWith("今天")的值是true,b.startsWith("天气")的值是false。
a.endsWith("不错")的值是true,b.endsWith("爬山")的值为false
(4) public int compareTo(String s) 比较字典序若等于s返回0,大于s返回正值,小于s返回负值。
String s = "abcde";
s.compareTo("boy")小于0.
(5) public boolean contains(String s) 判断字符串中是否含有参数指定的字符串s。
s = "student"; s.contains("stu")的值为true,s.contains("abc")的值为false。
(6) public boolean indexOf(String s) 从0开始索引,返回首次出现s的索引位置
public boolean indexOf(String s,int startpoint)从startpoint开始索引,返回首次出现s的索引位置
String s = "we are student";
s.indexOf("a"); //值是3
s.indexOf("e",3) //值是5
(7) public String substring(int startpoint) 截取startpoint位置到最后所得的字符串
substring(int star,int end)截取star至end-1位置所得的字符串
String s = "We are family";
System.out.println(s.substring(3)); 输出:are family
System.out.println(s.substring(3)); 输出:are family
System.out.println(s.substring(3,5)); 输出:ar
(8) public String trim() 去掉字符串前后空格
3、字符串与基本数据类型的转换
(1) 将数字字符组成的字符串转化为int :
int x ;
String s = "123";
x = Integer.parseInt(s);
其他的数据类型类似
(2) 将数字转化为字符串
int a = 123;
String s = String.valueOf(a);
其他的数据类型类似