1.String对象内容的比较
Str1.equals(Str2)
Str1.equalsIgnoreCase(Str2)
== 比较的是引用,而equals()比较的是内容
2.String类型与其他类型的相互转换
a.String转int
int myInt = Integer.parseInt(myStr1, 8); //第一个参数为要解析的字符串,第二个为解析的进制,返回int对象
<pre name="code" class="java">int myInt1 = Integer.valueOf(myStr1).intValue(); //方法二,返回一个int对象
parseInt()中第二个参数为解析进制,要求在2到36之间,并且待解析字符串中不能出现非法字符,如120的时候就不能解析为2进制,因为此时出现非法字符2。
直接调用parseInt()将产生一个Integer对象。
b.int转String
String myStr0 = String.valueOf(myIntLocal); //产生一个对象
String myStr1 = Integer.toString(myIntLocal); //调用静态方法,产生一个对象
String myStr2 = ""+myIntLocal; //产生两个String对象
c.其他类型与String相互转换
类似于int与String
3.常用方法
myStr0.length(); //字符串长度
myStr0.toCharArray(); //将字符串转换为字符数组
myStr0.charAt(0); //获取指定位置字符
myStr0.getBytes(); //得到系统默认编码格式字节数组
myStr0.getBytes("utf-8"); //得到utf-8编码格式字节数组
myStr0.indexOf("str"); //得到字符(串)在字符串中的开始位置
myStr0.trim(); //去除空格
myStr0.substring(1); //得到从指定位置开始的子串
myStr0.split("myRegex"); //按指定的正则表达式划分
myStr0.replace("old", "new");<span style="white-space:pre"> </span>//替换子串
4.编码问题
String s = "好好学习";
byte[] b2=s.getBytes("gbk"); //编码格式
String ss=new String(b2,"utf-8");//解码格式
System.out.println(ss);