Re: [問題] 如何分辨 "" 與動態產生之字串?
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
討論串 (同標題文章)