字符串我们的定义有两种形式,
比如定义一个hallo,我们采用第一种形式:
String a="hallo";
第二种形式:
String a=new String("hallo");
而我们通常都是使用第一种形式。
看到这里,我就感到老师讲的详细了。
特意给出了图加以理解
如图,因为使用第二种方法定义的时候,我们开辟出来的工作空间。对我们有限的内存进行了多余的占用。
所以我们为了资源效率的提高,一般使用第一种定义方法。
而在接下来,我们说一说string字符串变量的比较。
假设int a=0;int b=0;
system.out.println(a==b);
结果显示为:true
而假设 string a="c";string b="c";system.out.printlin("a==b");
结果显示为:flase
这是为什么呢?
因为使用“==”的时候,我们比较的是变量内存的地址,而不是真正变量的内容。
要比较内容是否相同,我们一般使用equals来比较。
例如比较刚刚的字符串a.b:
system.out.println(a.equals(b));
结果为:true.
不仅如此,而且我们说。字符串里的变量,是不可更改的。
什么叫不可更改呢?
视频里又给出了一张图:
有此图,我们可以看到,我们定义一个字符串变量string str="hello";再令str=str+"world";
之后输出:system.out.println(str);
仍旧得到:hello world。
表面上看,的确字符串变量已经更改。
实际上,如上图所示的。我们变量所在的地址和内容没有更改,而是新开辟了内存空间,再存储了新的内容进去。
没有更改到变量的内容。
由于今天时间有限,就暂时做到这里。