Re: [問題] 如何分辨 "" 與動態產生之字串?

看板java作者 (XD)時間18年前 (2007/08/18 23:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/9 (看更多)
Thanks 我看了 #4617 很有趣,不過可惜不是我要的答案。 你說的 get constant 的概念我想 String.intern() 可以做到。 不過可惜, 我是要使用 Java program 偵測另一隻 Java program 的物件和記憶體的情況, 所以不知道原來的字串是如何產生。 我的需求是要留下動態產生的 String 而不要 literal string。 謝謝大家 ※ 引述《godfat (godfat 真常)》之銘言: : ※ 引述《sensibility (XD)》之銘言: : : String s1 = "123"; : : String s2 = new String( "123" ); : : void m( String s ) : : { : : // 請問在不能使用 s1 和 s2 的前提下, : : // 這裡要如何分辨是 s1 還是 s2 傳進此 method? : : } : well, 講 get constant 是因為我想到 #4617 篇, : 不過回頭去看了一下,發現似乎沒辦法解決這個問題。 : 我覺得你可能要仔細描述一下你的需求,光看你的問題的話, : 我稍微試了一下以下: : class Const{ : public static void main(String[] args){ : String s1 = "123"; : String s2 = new String("123"); : System.out.println(is_const(s1)); : System.out.println(is_const(s2)); : } : private static boolean is_const(String s){ : String ss = "123"; : return ss == s; : } : } : 結果會是 : true : false : 如果你的字串是事先就能確定的,你可以在 is_const 那邊建個 table, : 例如 Set 之類的東西,把所有的 const 都建起來再去 lookup. : 簡單地說就是暴力法就是了... : 如果不行的話,就真的要找找怎麼抓出 const data 了 : (可能就用 #4671 裡的方法暴力抓出來) : 以上我寫得很隨意,只是提個概念,有什麼錯的話我不敢保證﹍ XD : 畢竟 java 我也沒讀過多久,自己試試吧 : == : 不過老實講,我覺得不該會有這個問題的,需求真的有點令人納悶 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.8.13
文章代碼(AID): #16nnL2d3 (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 5 之 9 篇):
文章代碼(AID): #16nnL2d3 (java)