java里面 put方法的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里面 put方法的问题相关的知识,希望对你有一定的参考价值。
hashmap V put(K key,
V value) 返回的v是什么类型
* <tt>null</tt> if there was no mapping for <tt>key</tt>.
* (A <tt>null</tt> return can also indicate that the map
* previously associated <tt>null</tt> with <tt>key</tt>.)
返回的V是个Object ,根据您在上一次put的值的类型来决定。
比如,您上一次put一个String:map.put("1", "test1");
那么当您第二次put的时候 Object v = map.put("1", "test2"); 返回的应该是上一次的String: "test1"本回答被提问者采纳 参考技术B 自己写代码验证一下就知道啦。 参考技术C key,是这个的类型
java中put()里的参数问题
Map m1=new HashMap();
m1.put("one",new Integer(1));
右边的value值加个new是什么意思? 为什么看到有些程序可以m1.put("one",freq(常数));
右边的value值到底要是一个常数还是对象?
value加个new,表示新建一个对象放入到map中,仅仅是一个做法而已。
右边要求一个对象,至于freq(常数),只是调用freq方法,把freq的返回值作为value而已。追问
右边要求一个对象 那为什么返回的值还可以放进去呢?莫非那个返回值也可称作一个对象?
追答返回值当然可以是对象。
参考技术A 要一个对象。但jdk5以后有autoboxing功能,也就是如果方法需要的是对象,你传入的是int,它会自动帮你转成Integer。double转成Double,以此类推。本回答被提问者采纳 参考技术B Map<String, String> m1=new HashMap<String, String>();
Map<String, Integer> m1=new HashMap<String, Integer>();
Map<Integer, Integer> m1=new HashMap<Integer, Integer>();
Map<Integer, String> m1=new HashMap<Integer, String>();
以上是关于java里面 put方法的问题的主要内容,如果未能解决你的问题,请参考以下文章