作者sensibility (XD)
看板java
标题Re: [问题] 如何分辨 "" 与动态产生之字串?
时间Sat Aug 18 23:50:25 2007
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