关于Hashtable的 put方法

O爱咋咋地O 2009-09-18 04:11:40

Hashtable a=new Hashtable();
a.put("Test",a);//后面的a 是put前的 还是put 后的a 啊
...全文
474 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cz61919345 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuhua205 的回复:]
引用 6 楼 ah597568204 的回复:
那为什么我加到 构造方法 new JTree()里 就会节点无限嵌套节点呢
我 以为本来应该是 只有一个Test 节点的呀

这是因为你的map对象是引用,你添加之前的map和添加之后的map在内存里面指向的是同一个内存地址,也就是同一个对象,所以说你这样put之后,就变成了无限嵌套 有点像无限递归
[/Quote]正解!
dz007 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ah597568204 的回复:]

String str="a";
str=str+"b";
为什么后面的str 是指向"a"的引用 而不是指向 str+"b"的引用呢
[/Quote]

这是一步一步执行的,具体的执行步骤看运算符的优先级
O爱咋咋地O 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuhua205 的回复:]
引用 6 楼 ah597568204 的回复:
那为什么我加到 构造方法 new JTree()里 就会节点无限嵌套节点呢 
我 以为本来应该是 只有一个Test 节点的呀

这是因为你的map对象是引用,你添加之前的map和添加之后的map在内存里面指向的是同一个内存地址,也就是同一个对象,所以说你这样put之后,就变成了无限嵌套 有点像无限递归
[/Quote]

String str="a";
str=str+"b";

为什么后面的str 是指向"a"的引用 而不是指向 str+"b"的引用呢
xuhua205 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ah597568204 的回复:]
那为什么我加到 构造方法 new JTree()里 就会节点无限嵌套节点呢 
我 以为本来应该是 只有一个Test 节点的呀
[/Quote]
这是因为你的map对象是引用,你添加之前的map和添加之后的map在内存里面指向的是同一个内存地址,也就是同一个对象,所以说你这样put之后,就变成了无限嵌套 有点像无限递归
youngbit001 2009-09-18
  • 打赏
  • 举报
回复
前的
dajiadebeibei9 2009-09-18
  • 打赏
  • 举报
回复
把自身的引用传进去 没什么意义 你要是不用泛型 再往里面put其他类型的对象时 就会出警告
ouyangyh 2009-09-18
  • 打赏
  • 举报
回复
这种用法
感觉怪怪的啊
O爱咋咋地O 2009-09-18
  • 打赏
  • 举报
回复
那为什么我加到 构造方法 new JTree()里 就会节点无限嵌套节点呢
我 以为本来应该是 只有一个Test 节点的呀
xuhua205 2009-09-18
  • 打赏
  • 举报
回复
前的后的,put完之后不都一样了么? 引用
junjun1984 2009-09-18
  • 打赏
  • 举报
回复
这样put有何意义吗?
  • 打赏
  • 举报
回复
put 前的。不过这么做有些怪。
virginkj 2009-09-18
  • 打赏
  • 举报
回复
put前的 为什么不用泛型?
toss2000 2009-09-18
  • 打赏
  • 举报
回复
前的

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧