看板 java 關於我們 聯絡資訊
我想請問是否能透過Reflection的方式變數自己的定義名稱 譬如 String mCount = new String() ; 是否可以透過 mCount.getClass() 的方式去取得 "mCount"這個名稱 ? 想請問是否有可能呢 ? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.38.1
Chikei:local variable不能,class field可以 12/17 19:01
LaPass:同一樓 12/17 20:02
darkk6:class field 可以嗎@@ ? reflect 應該只能列舉吧 ? 12/17 22:05
darkk6:應該不能用 "自己" 取得自己的變數名稱吧? 12/17 22:12
Chikei:oops,沒看清楚是自己的名稱,那就是都不能。 12/17 22:15
danny8376:到比較想問為何會想取變數名稱? 12/17 22:52
swpoker:不可能讓你碰到參考的東西 12/18 09:56
LaPass:debug 嗎? 例如輸出 mCount的值有誤 這樣? 12/18 10:34
icools:因為我寫Android在不同的Activity傳遞參數需要透過Bundle 12/18 17:15
icools:我想變數抓取自己的名稱去設定Bundle,避免set&get打錯字 12/18 17:59
icools:看起來這方法是不行,感謝~~ 12/18 18:38
sbrhsieh:就算可以你還是沒有解決會打錯字這個問題 12/18 20:08
LaPass:你可以定義一個常數,然後傳值時用常數當key 12/18 21:31
cyclone350:如果不能,那eclipse的debug mode是怎麼取到的? 12/18 22:52
dream1124:那是用vm的debug模式, 再加上用 cglib 改bytecode吧~ 12/18 23:06
wuliou:突然想到一個很蠢的方法 不知道行不行 12/19 00:40
wuliou:故意讓他出錯 然後用catch抓起來看變數名稱XD 12/19 00:42
Chikei:debug mode當然會帶debug info 12/19 18:13
Chikei:但是那不在reflection API裡面,另外那些資訊在compile的時 12/19 18:15
Chikei:候都是會根據選項被砍掉的 12/19 18:17
DeathWatch:究竟要幹嘛的 12/19 21:33