作者godfat (godfat 真常)
看板java
标题Re: [问题] 如何分辨 "" 与动态产生之字串?
时间Sat Aug 18 22:57:02 2007
※ 引述《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 我也没读过多久,自己试试吧
==
不过老实讲,我觉得不该会有这个问题的,需求真的有点令人纳闷
--
「行け!Loki!」
(rocky ロッキー)
-Gurumin ぐるみん 王子? XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18
1F:推 TonyQ:我觉得重点是需求怎麽来的 , 一般不会有这种需求才是@@ 08/18 23:13
2F:推 PsMonkey:这样跟「使用到 s1」好像没啥差别耶... 08/18 23:16
3F:→ PsMonkey:不能回 po 只好用推文 [泪奔] 08/18 23:16