2011-11-24 32 views
3

在客觀C類,我需要add a method to the String class in an Android app這樣我就可以把它像將在Java/Android的String類的方法就像在iPhone上

String myStr; 
x = myStr.myNewMethod(3); 

我沒有任何想法,我怎麼能做到這一點在Java中。

ps我不想創建一個字符串的子類。這意味着我需要全面強制執行和/或將我的絃樂聲明爲新的音階。

非常感謝

回答

1

沒有創造任何一個子類(inhertance)或包裝類(組成)你不能做到這一點。

只需編寫一個靜態幫助器方法,該方法接受一個字符串以及任何您需要的其他參數。

static Foo myNewMethod(String s, int x) 
{ 
    // snip... 
    return someFoo; 
} 

// later... 
String myStr = "foo"; 
Foo f = myNewMethod(myStr, 3); 
+0

好的謝謝 - 這正是我所期待的 - 儘管我非常希望更好:-)謝謝! – user387184

+0

是的,這是我現在所做的 - 謝謝! – user387184

2

String是Java中的最後一個類,這意味着你不能繼承它的子類。這是該類的一個重要特徵,因爲字符串遍佈各處,尤其是安全令牌等。能夠在事後修改其行爲可能會導致安全問題。

不幸的是,沒有辦法在Java中添加類別。如果你經常需要一些自定義功能,你可以做的唯一事情就是創建一個實用程序類,也許有一些靜態方法,然後你可以將它們聯合到你的應用程序代碼中。

然而,這只是一個粗略的解決方法,但可能是最好的,你可以得到。

+0

是的,這是我現在所做的 - 謝謝! – user387184

相關問題