文字列の値を新しいDoubleに変換するメソッドを作成しました。私は、上記のメソッドがnullを返すかどうかをテストするif文を作成したいと考えています。これは、これまでのコードです:Doubleメソッドに変換されたStringを正しく呼び出す方法は?
コンテンツクラス
public class Content
{
Double x;
String string = "b";
public void testParsing()
{
if (//call xMethod == null) {
System.out.println("Ovalid operator Success");}
else {
System.out.println("Invalid operator Fail");
}
}
/*
* Chops up input on ' ' then decides whether to add or multiply.
* If the string does not contain a valid format returns null.
*/
public Double x(String x)
{
String[] parsed;
if (x.contains("*"))
{
// * Is a special character in regex
parsed = x.split("\\*");
return Double.parseDouble(parsed[0]) * Double.parseDouble(parsed[1]);
}
else if (x.contains("+"))
{
// + is again a special character in regex
parsed = x.split("\\+");
return Double.parseDouble(parsed[0]) + Double.parseDouble(parsed[1]);
}
return null;
}
}
メインクラス
public class MainClass {
public static void main(String[] args) {
Content call = new Content();
call.testParsing();
}
}
私は次の行が成功としてコンパイルし、出力することを知っている:(9行目)
if (x("") == null) {
しかし、私はこれをやっているとは思わないが、xが指し示すメソッドの結果がnullを返すかどうかを確認するように頼んでいる。どのように適切にこの状態をチェックするためにこのメソッドを呼び出すかの明確化は、ありがとう、ありがとう。
@ cricket_007:あなたはどう思いますか?どのJLSルールが違反していると思われますか? –
@JonSkeetフィールドはメソッドとどのように区別されますか? –
バー、[これが見つかりました](http://stackoverflow.com/questions/9960560/java-instance-variable-and-method-having-same-name#9960571)。 Thats dumb ... –