1. String中的==是引用的比较,equals是值的比较
public static void main(String[] args) {
String a ="hello";
String b ="world";
String c = "helloworld";
String d = a+b;
String z = "hello";
System.out.println(c==d); // false
// 将引用指过去,没有才再新建一个新的字符串。
String e = (a+b).intern(); System.out.println(c==e); // true
System.out.print(a==z); // true;
}
2.表示数值的字符串,可以转为基本的数据类型
public static void main(String[] args) {
String a = "1";
String b = "1.0";
//表示数字的字符串可以转为基本数据类型
Integer e = Integer.parseInt(a);
Float f = Float.parseFloat(b);
Double g = Double.parseDouble(b);
System.out.println(e+f+g); //结果为double类型3.0
}
3.基本数据类型通过String的valueOf()也可以转换成字符串
public static void main(String[] args) {
int a = 1;
double b = 1.0;
float c = 2.0f;
String d = String.valueOf(a);
String e = String.valueOf(b);
String f = String.valueOf(c);
}
4.将字符串I LOVE YOU反转,可以使用StringBuilder和String方法
public static void main(String[] args) {
//使用StringBuilder方法
StringBuilder s = new StringBuilder("I LOVE YOU");
System.out.println(s.reverse()); //结果为UOY EVOL I
//使用String的方法
String str = "I LOVE YOU";
char[] c = str.toCharArray();
//将字符串先存为字符数组 //数组总长为c.length,其所引值为c.length-1
//有面试题这样出就是为了考察一下这一点有没有注意到
for (int i = c.length-1; i >= 0; i--) {
System.out.print(c[i]);}
}