已采纳回答 / 大枣
Map里的节点也就是Entry是键值对,key关联value,这里put了新的键值对之后,同一个key关联的value进行了更新,而原来的value就不会被key关联了,Java中的对象全部分配在堆上,对于无用的对象,由虚拟机进行对象的回收。
2017-01-09
最赞回答 / 怡_enjoy
String类型或其他的引用类型的变量中存放的是对象的地址,并不是对象本身,这点和int,char等一些基本数据类型是不同的,由于s3和s4存储的并不是同一个对象,所以s3和s4存储的对象的地址值也就不同,s3也就不等于s4了,但s3.equals(s4)不同,s3.equals(s4)是将s3和s4所引用的对象分别给取出来,比较的是对象本身,当s3和s4所指向的对象相同时,s3.equals(s4)也就相同了,要是不好理解请看下图更直观<...图片...>
2017-01-09
已采纳回答 / 慕粉2223061884
不能,Map存放的是key-value的映射关系,并且多个key值可以对应到同一个value。如果你想对value直接修改会导致其他key指向的这个value都被改变,而违背了"Map只是存放key-value之间映射"的初衷,所以Map接口不会提供这样的接口;而通过remove,再put操作实质上是将原来的key对value的映射指向映射到新的value值的关系。
2017-01-09
前面介绍了一下子框架,然后就把前面介绍的知识点拿来用。@码农 你是天才,我不是,看的是一脸蒙蔽。。。 看了集合框架的上我都想看 中下了。。。
2017-01-07
compute()已经是divide的上层了,如果在compute()中仍不能try-catch即处理,则就像divide将异常抛给compute()一样,compute()再将异常throws给自身的上层,即divide的再上一层。
2017-01-06