如何正确调用转换为Double方法的字符串?
问题描述:
我已经创建了一个将字符串值转换为新的Double的方法。我想创建一个if语句,用于测试所述方法是否返回它应该执行的null。这是到目前为止的代码:如何正确调用转换为Double方法的字符串?
内容类
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;
}
}
Main类
public class MainClass {
public static void main(String[] args) {
Content call = new Content();
call.testParsing();
}
}
我知道以下行编译和输出作为一个成功:(第9行)
if (x("") == null) {
但我不认为这是在做我要求它做的事情,我要求它检查x所指向的方法的结果是否返回null。任何澄清如何正确调用这种方法来检查这种情况将非常感谢,谢谢。
答
但我不认为这是做什么的,我要求它做
要检查,如果结果为空。你的逻辑是正确的。
您可能要储存的结果,如果你打算以后使用它,但。
Double val = x("");
if (val == null) {
// Invalid
} else {
System.out.println("Valid! Result: " + val);
}
+0
啊好吧谢谢,抱歉打扰。 – John123
@ cricket_007:是什么让你认为?你认为哪个JLS规则被侵犯? –
@JonSkeet该领域将如何区别于该方法? –
Bah,[found this](http://stackoverflow.com/questions/9960560/java-instance-variable-and-method-having-same-name#9960571)。这是愚蠢的... –