在客觀C類,我需要add a method to the String class in an Android app
這樣我就可以把它像將在Java/Android的String類的方法就像在iPhone上
String myStr;
x = myStr.myNewMethod(3);
我沒有任何想法,我怎麼能做到這一點在Java中。
ps我不想創建一個字符串的子類。這意味着我需要全面強制執行和/或將我的絃樂聲明爲新的音階。
非常感謝
在客觀C類,我需要add a method to the String class in an Android app
這樣我就可以把它像將在Java/Android的String類的方法就像在iPhone上
String myStr;
x = myStr.myNewMethod(3);
我沒有任何想法,我怎麼能做到這一點在Java中。
ps我不想創建一個字符串的子類。這意味着我需要全面強制執行和/或將我的絃樂聲明爲新的音階。
非常感謝
沒有創造任何一個子類(inhertance)或包裝類(組成)你不能做到這一點。
只需編寫一個靜態幫助器方法,該方法接受一個字符串以及任何您需要的其他參數。
static Foo myNewMethod(String s, int x)
{
// snip...
return someFoo;
}
// later...
String myStr = "foo";
Foo f = myNewMethod(myStr, 3);
String
是Java中的最後一個類,這意味着你不能繼承它的子類。這是該類的一個重要特徵,因爲字符串遍佈各處,尤其是安全令牌等。能夠在事後修改其行爲可能會導致安全問題。
不幸的是,沒有辦法在Java中添加類別。如果你經常需要一些自定義功能,你可以做的唯一事情就是創建一個實用程序類,也許有一些靜態方法,然後你可以將它們聯合到你的應用程序代碼中。
然而,這只是一個粗略的解決方法,但可能是最好的,你可以得到。
是的,這是我現在所做的 - 謝謝! – user387184
好的謝謝 - 這正是我所期待的 - 儘管我非常希望更好:-)謝謝! – user387184
是的,這是我現在所做的 - 謝謝! – user387184