听说很多小伙伴在面试时易被问道关于 字符串 String是否为基本数据类型的问题。
确实作为刚开始学java时是多少难以区分,不过日子长了就好了哈哈。我把课堂笔记稍加总结下哈。
String:不是基本类型数据,它是一个用来描述字符串的类,里面有很多
功能来操作字符串两种定义方式:
1.new 构造----->创建对象
2.定义变量的形式
特点:字符创对象一旦创建不被改变
以定义变量形式创建字符串对象(String s = "abc";),
会在一个内存叫字符串常量池的地方创建字符串对象 "abc",
此内存中一旦创建字符串对象"abc"不被改变。
public class StringTest1 {
public static void main(String[] args) {
String s = "abc";
s = "bbc";
System.out.println(s);
String s1 = "abc";
System.out.println(s1);
String s2 ="abc";
System.out.println(s1 == s2);
String ss ="mba";//只创建了一个对象 就是字符串常量池中的对象"mba"
String ss2 = new String("mba");//创建了两个对象 1.堆内存中的new String() 2.字符创常量池中的对象"mba"
System.out.println(ss);
System.out.println(ss2);
System.out.println(ss == ss2);
String str = "xyz";
String str2 = new String("xyz");
String str3 ="xyz";
System.out.println(str == str2);
System.out.println(str.equals(str2));//String类重写了Object的equals方法,判断字符创对象的内容是否相等
开发经验 比较字符创内容是否相等
if((str == str2) || str.equals(str2)){
System.out.println(true);
}
}
}