字符串的常用方法:
- 返回值是bool型,用于判断
- equals(String str):判断实体是否相等,而不是判断引用变量
- startsWith(String str)和endsWith(String str):判断首尾的字符;
- contains(String str):判断是否含有指定的字符串;
- 返回值是数值型(int)的,用于获取字符串的信息。即属性
- length():得到字符串的长度。
- compareTo(String str):和指定的字符串比较大小,小于为负数,大于为正数;
- indexOf(String str)和indexOf(String str,int startpoint):得到某个元素的的索引,位置。
- 返回值是一个字符串:用于得到处理之后的字符串
- substring(int start,int end):截取字符串,得到start到end-1的字符。
- trim():无参数,去掉首尾的空格;
字符串的构造
- 用new运算符;
String s1=new String("java");
- 字符串做参数
- 字符数组做参数,分为全部和部分
char [] ch={'j','a','v','a'};
String s1=new String(ch,0,2);
String s2=new String(ch);
3.字节数组做参数,也是分为全部和部分
byte [] b=" 你好 java ".getBytes();
String s3=new String(b,0,6);
String s4=new String(b);
- 不用new
String s2="java";
String s1="java"
- 注意:
1.实体一样,也引用不一样。
String s1=new String("java");
String s2=new String("java");
s1和s2,实体相同,引用不同。
2.实体一样,引用就一样。
String s1,s2;
s1="java";
s2="java";
s1和s2实体相同,引用不同。
因为:用new同一个类创建的不同对象,即使实体相同,引用也不同。而不用new创建时,就相当于常量赋值给变量。
字符串和基本数据类型的转化
以int和string为例;
- int-->>string
public static String valueOf(int n);
是static方法,使用时直接用类名调用。
String s=String.valueOf(56);
- string-->>int
public static int parseInt(String s)
是类方法,调用时直接用类名调用
int n=Integer.parseInt("56");
字符串和数组之间的转化
- 和字符数组的转化。
字符数组到字符串
char [] ch={'a','f'};
new String(ch);
或者是
new String(ch,0,1);
字符串到字符数组:
public char [] toCharArray();直接返回一个字符数组;
或者是
public void getChars(int start,int end,char c[],int offset)将部分的字符加在字符数组的后面。
- 和字节数组的转化;
字节数组到字符串
new String(byte [])
或者是
new String(byte [],int offset,int length);
字符串都字节数组
pubic byte [] getBytes()直接得到字节数组。
或者是
pubic byte [] getBytes(String charsetName)直接得到字节数组,用某种方式编码。“GB2312”