作者icools (我的MSN上上下下...)
看板java
标题[问题] 如何透过Reflection去得变数自己的名称
时间Tue Dec 17 18:43:35 2013
我想请问是否能透过Reflection的方式变数自己的定义名称
譬如
String mCount = new String() ;
是否可以透过 mCount.getClass() 的方式去取得 "mCount"这个名称 ?
想请问是否有可能呢 ? 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.38.1
1F:→ Chikei:local variable不能,class field可以 12/17 19:01
2F:推 LaPass:同一楼 12/17 20:02
3F:推 darkk6:class field 可以吗@@ ? reflect 应该只能列举吧 ? 12/17 22:05
4F:推 darkk6:应该不能用 "自己" 取得自己的变数名称吧? 12/17 22:12
5F:→ Chikei:oops,没看清楚是自己的名称,那就是都不能。 12/17 22:15
6F:→ danny8376:到比较想问为何会想取变数名称? 12/17 22:52
7F:→ swpoker:不可能让你碰到参考的东西 12/18 09:56
8F:推 LaPass:debug 吗? 例如输出 mCount的值有误 这样? 12/18 10:34
9F:→ icools:因为我写Android在不同的Activity传递参数需要透过Bundle 12/18 17:15
10F:→ icools:我想变数抓取自己的名称去设定Bundle,避免set&get打错字 12/18 17:59
11F:→ icools:看起来这方法是不行,感谢~~ 12/18 18:38
12F:→ sbrhsieh:就算可以你还是没有解决会打错字这个问题 12/18 20:08
13F:推 LaPass:你可以定义一个常数,然後传值时用常数当key 12/18 21:31
14F:→ cyclone350:如果不能,那eclipse的debug mode是怎麽取到的? 12/18 22:52
15F:→ dream1124:那是用vm的debug模式, 再加上用 cglib 改bytecode吧~ 12/18 23:06
16F:推 wuliou:突然想到一个很蠢的方法 不知道行不行 12/19 00:40
17F:→ wuliou:故意让他出错 然後用catch抓起来看变数名称XD 12/19 00:42
18F:→ Chikei:debug mode当然会带debug info 12/19 18:13
19F:→ Chikei:但是那不在reflection API里面,另外那些资讯在compile的时 12/19 18:15
20F:→ Chikei:候都是会根据选项被砍掉的 12/19 18:17
21F:推 DeathWatch:究竟要干嘛的 12/19 21:33