在java里面用下面的代码有什么不妥之处么?比如从代码的可维护性等方面考虑。
比如,下面两个地方的"a"也许在以后的java版本中不是一个对象,用考虑这种可能性么??HashMap hm = new HashMap();hm.put("a", "value1");Object value = hm.get("a");
比如,下面两个地方的"a"也许在以后的java版本中不是一个对象,用考虑这种可能性么??HashMap hm = new HashMap();hm.put("a", "value1");Object value = hm.get("a");
比如,下面两个地方的"a"在目前java版本中都是一个对象,都指向同一个引用。但是有没有可能在以后的java版本中下面两个地方的"a"是两个不同的对象呢,用考虑这种可能性么??如果是两个不同的对象,那么下面的get方法将返回nullHashMap hm = new HashMap();
String key = "a";
hm.put(key, "value1");Object value = hm.get("a");
符合这个就行了.考虑这个没必要, 如果不保证兼容性, 谁还去用...
贯彻了覆盖 equals 同时也应该 覆盖 hashCode 的意思,
除非新版本有Bug,且无人维护。
HashMap hm = new HashMap();
String key = "a";
hm.put(key, "value1");String xx=(String)hm.get("a");xx得到了一个NULL值,怎么会这样呢?写成String xx=hm.get("a").toString();XX还是一个NULL值.怎么回事呢?
可以当然是可以,(目前我也是这么写的)可是万一,字符串,不是共享的对象呢?那样hash就不一样了。不过,我想这种担心是多余的,java 中String的处理方式不会改变。回复人: songthing(逸虹千里·儒俊丹枫) ( ) 信誉:95 这种事情,还真没见过.String xx=(String)hm.get(key);如果还出错.看一下 hm的内容吧
.
String key = "a";
hm.put(key, "value1");String xx=(String)hm.get("a");
xx 不为 null