2011-08-16 14 views
2

私は非常に基本的なことについては疑問に思っていましたが、私は理解できませんでした。私は同様の質問を読んだことがありますが、私の質問には特に答えません。オブジェクトをそのクラスに変換する別のクラスのメソッドを呼び出す

私は文字列を持っているとしましょう。私はそれをダブルに変換したい。今、java.lang.DoubleにparseDoubleという関数があることがわかりました。しかし、どうすればいいですか?私のAndroidのstrings.xmlファイルに文字列があります。

ありがとうございました。

答えて

2

あなたはDoubleオブジェクトをしたくない場合は、

を行うことができますが、あなたは、OscarRyzが言ったように、二重に変換

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

を使用し、活動のあなたのxmlファイルから文字列を取得するには

double d = Double.parseDouble(s); 

また、1つのステップでそれをすべて行うことができます。

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

これは* instance *と* class *のメソッドです:) – OscarRyz

+0

うわー、私はフリースローの試合で2のために0を行ったのですか? – saccharine

0

方法は静的メソッドである、あなたは、このような

Double.parseDouble(「3.14159」)として、それを呼び出します。

静的メソッドは、クラスのインスタンスで呼び出される必要はありませんし、そうすることの警告コンパイラが発生します(だけでなく、多くの恐ろしいのNullPointerExceptionの大きなリスクであなたを置く)について

メソッドですインスタンスは、以下は同等ですが、コンパイラの警告になります:

ダブルbob =新しいダブル(3.14); bob.parseDouble( "3.14159");

実際には、静的メソッドparseDoubleを使用するためにDoubleオブジェクトを作成する必要はありません。

+0

お返事ありがとうございます。私は先に進んで、静的でインスタントな方法を見直しました。 – saccharine

関連する問題