黑马程序员-----关于技术测试时,没有答出来的问题。

---------------------- android培训java培训、期待与您交流! ---------------------- 

        今天刘老师在QQ上问了我一个问题:如何将String 变成 Integer ?我卡了有点时间,原因不言而喻对这个方法不是很熟,公司回来后怎么想都觉得这么简单的一个问题竟然把我难倒了,也许是我java基础知识太差?很不甘心,我就查阅JDK帮助文档,在Integer类提供的方法中找到了,可以用parseInteger将String解析成integer,还有valueOf(String s)也可以将字符串变成其相应的integer实例。我想既然string能到integer,那么integer就应该能到string(虽然早就知道,但查阅查阅也有益对JDK的了解)。于是我又查String类,果然在其中找到了valueOf方法,这个方法基本上能把所以基本类型和Object对象转换成String对象,这下算是弄明白了吧。

         转念我又想:为什么当初设计JDK的人会把将String变成integer的方法放在integer类中,而把从其他基本类型和对象变成String的方法定义在String中?这绝不是偶然,必然是遵循这什么,于是我便想到了张老师讲的面向对象的设计思想。仔细思维,果然是面向对象的绝好展现,原来在JDK的此处就将面向对象的设计思想展现出来了。

        将String变成integer,这个方法在谁的身上?或者说是:String把String变成了integer,还是Integer把String变成了integer?我们想想有没有那个对象调用自己的方法将自己作为参数来产生别的对象,举个例子:对象origin调用自己方法getInteger(origin)将自己作为参数来产生integer对象,这里面便会产生一个同步问题,如果在getInteger(origin)方法内部不小心改变了origin这个对象,此时origin. getInteger(origin)外面这个origin该怎么办,变还是不变?显然这会导致程序混乱,对象在不同步的情况下被修改,这与安全性相违背。由此便可以知道应该是Integr有个方法将String变成Integer。

        上面是从逻辑推理得出的,其实还有更加简便的方法,那边是面向对象,说白了string变成integer是自己变得吗?正如人把门关了,是人关的吗?显然是门关的,也就是说是Integer将String变成integer。

         以上便是自己在解决没有打上来的问题上的一点思考,正是有了这道题不仅使我对Integer类、String类中的方法更加的熟悉,同时也使我学会了看待它们之间的面向对象的关系,对老师讲的关于面向对象的设计有了更深的理解。


 

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net/heima
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值