2011-08-16 54 views
2

我想知道一些非常基本的東西,但我一直無法弄清楚。我已經閱讀過類似的問題,但他們並沒有特別回答我的問題。調用另一個類中的方法將對象轉換爲該類

比方說,我有一個字符串。我想將它轉換成雙精度。現在我看到在java.lang.Double中有一個稱爲parseDouble的函數。但是,我怎麼稱呼它?如果有任何幫助,該字符串位於我的Android strings.xml文件中。

謝謝。

回答

2

要在活動XML文件得到字符串,使用

String s = this.getString(R.string.mystring); 

將其轉換爲雙精度的方式OscarRyz說,但如果你不想要一個Double對象,你可以做

double d = Double.parseDouble(s); 

你也可以做到這一切在一個步:

double d = Double.parseDouble(this.getString(R.string.mystring)); 
+0

謝謝。我想我仍然不習慣Java的面向對象方面。當我需要這個方法時,沒有想到只是先調用Double類。 – saccharine

+0

謝謝,不要忘記接受答案! – Pikaling

0
String s = "0.0"; 
double d = Double.parseDouble(s); 

當你看到該文檔,並且還有一類方法(那些標有static關鍵字)意味着你必須使用類的名稱,然後方法名稱(如在Double.parseDouble

應該在類的一個實例上調用其他方法,即實例方法。該類的一個實例是從該類創建的對象。

我希望這會有所幫助。

+0

感謝。我想我在即時和靜態方法之間感到困惑。 – saccharine

+0

這是*實例*和*類*方法:) – OscarRyz

+0

哇,我在0罰2的嘗試吧? – saccharine

0

的方法是一個靜態方法,和調用作爲這樣

Double.parseDouble( 「3.14159」);

靜態方法是不需要在類的實例進行調用,這樣做將導致一個編譯器警告(以及讓你在很多可怕的NullPointerException異常的風險更大)

對於方法實例中,以下內容相當,但會導致編譯器警告:

Double bob = new Double(3.14); bob.parseDouble(「3.14159」);

實際上您並不需要創建一個Double對象來使用靜態方法parseDouble。

+0

感謝您的迴應。我繼續審查靜態和即時方法,現在我感覺非常愚蠢。 – saccharine

相關問題