java38

字符串内存分析
String str = new String("ABCD")
会先在堆中开辟一个空间,然后去常量池(方法区)中寻找是否有该变量,如果有,直接引用常量池中的内容
如果没有,将在常量池中写入该变量,,,,至少创建一个对象
String str2 = "ABCD";
(单独使用“ ”引用起来的都是直接量)
创建一个或不创建对象(如果常量池中已经有了该变量,则不需要在创建对象)
//属于lang包,不需要导包
//判断两个字符串是否相等
String a="1";
String a2 = new String("1");
System.out.println(a == a2);
System.out.println(a.contentEquals(a2));
System.out.println(a.equalsIgnoreCase(a2));
//大小写转换
String b="ab";
System.out.println(b.toUpperCase());
String b2="AB";
System.out.println(b2.toLowerCase());
//返回在字符串中第一个/最后一个出现值的位置;
String c="abcdefde";
String c2="bc";
String c3="de";
String c4="de";
System.out.println(c.indexOf(c2));
System.out.println(c.indexOf(c3));
System.out.println(c.lastIndexOf(c4));
//吧char类型的数组转换成字符串类型
char[] d = {'a','b','c'};
System.out.println(d[2]);
String d2 = new String(d);
System.out.println(d2);
//吧字符串类型转换成char类型的数组
char[] d3 = d2.toCharArray();
System.out.println(d3);
//获取字符串当中的某一个字符位置
String e = "123456";
System.out.println(e.charAt(2));

猜你喜欢

转载自www.cnblogs.com/-zero/p/10588660.html