java初体验——关于String

不知大家有没有发现,String 中的s是大写的,而平时,类名首字母是大写的。其实String 的背后还有很多故事呢。下面让我们一起来揭开String 的神秘面纱。

[b][size=medium]1.String 是类[/size][/b]
有下面代码
[img]http://dl.iteye.com/upload/attachment/249237/56dd01e4-444d-3b42-b157-0b27f867abbd.png[/img]


运行结果
[img]http://dl.iteye.com/upload/attachment/249235/50da375e-b749-3f4a-aaa3-3d81f5dafc19.png[/img]


我们发现两种方法运行结果是一样的,那我们采用哪种方法呢?
其中栈和堆内变化是
[img]http://dl.iteye.com/upload/attachment/249321/ecd27cf7-ac12-3748-b2db-ebc68edb9e80.png[/img]
所以,我们采用‘name2’哪种直接命名的会更好。

[b][size=medium]2.关于string 中的‘==’和 'equals' 两种赋值方法[/size][/b]
有下面代码
[img]http://dl.iteye.com/upload/attachment/249342/888990a8-9b0b-395c-a684-d5af9db79012.png[/img]


[img]http://dl.iteye.com/upload/attachment/249344/0b32f06f-3b2a-3e2d-a35a-2ad45685ed70.png[/img]
结果我们可以发现,“==”进行的是内存地址的比较较,而 equals 进行的是数值比较。

====================================================================

补充:
[color=red]上面解决了!只要把代码写成[/color]System.out.println("name1 == name3: "+(name1==name3));
[color=red](加上括号运行结果就按照我们的意愿了~~)[/color]运行结果

[img]http://dl.iteye.com/upload/attachment/251129/cdda281b-21ba-3945-b822-8ecf52e5a9f0.png[/img]

====================================================================


[b]另一点说明。[/b]
如果我们将代码写成
[color=darkblue]public class Demo{
public static void main(String arfs[]){
String name1 = new String("anlx27");
String name2 = "anlx27";

System.out.println("anlx27".equals(name1));
}
}[/color]

运行结果
[img]http://dl.iteye.com/upload/attachment/249346/15457516-94d2-3392-a249-b99788601e1c.png[/img]
“anlx27”可以调用 string 类中的 eauals 方法,就说明它是一个匿名对象。


[b][size=medium]3.String 中的 java 共享设计模式的应用[/size][/b]
我们先来看一段这样的代码:
[color=darkblue]public class Demo{
public static void main(String arfs[]){
String name1 = "anlx27";
String name2 = "anlx27";

System.out.println(name1==name2);
}
}[/color]

运行结果
[img]http://dl.iteye.com/upload/attachment/249352/1a4bc0d9-ae72-36e3-8d02-b4405fd5ab12.png[/img]

我们看到是相等的这时栈和堆内的情况是这样的
[img]http://dl.iteye.com/upload/attachment/249355/2a0952a6-ade7-3ab4-a70c-fcaceedda30c.png[/img]

[b][size=medium]4.String 类中的内容,一旦声明则不可改变[/size][/b]
(未完)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值