双Java实例
我在使用instanceof Double时遇到了一些问题,无论我是使用Double还是Double,无论我是在if语句上面还是下面进行解析,我都会出错 任何帮助都将不胜感激 更新:根据解析的位置,错误会有所不同,从无法比较字符串到明显的双精度。但也不能比较double和double,以及double的无效维度双Java实例,java,Java,我在使用instanceof Double时遇到了一些问题,无论我是使用Double还是Double,无论我是在if语句上面还是下面进行解析,我都会出错 任何帮助都将不胜感激 更新:根据解析的位置,错误会有所不同,从无法比较字符串到明显的双精度。但也不能比较double和double,以及double的无效维度 List<String> graphlist = Arrays.asList(formula.split(",")); if(!(graphlist.get
List<String> graphlist = Arrays.asList(formula.split(","));
if(!(graphlist.get(0) instanceof String || graphlist.get(1) instanceof String)){
if(!(graphlist.get(2) instanceof Double|| graphlist.get(3) instanceof Double)){
s.append("Invalid Graph Syntax.");
}
}
lower = Double.parseDouble(graphlist.get(2));
upper = Double.parseDouble(graphlist.get(3));
您的笔划列表将只包含字符串,因为它是一个类型化列表。这就是为什么它会给你错误
你为什么要从中获取Double呢?列表包含字符串,字符串从来都不是Double的实例。你想知道的是这个字符串是否可以代表一个Double?如果是,您可以使用以下功能:
private boolean isDouble(String arg) {
try {
Double d = Double.parseDouble(arg);
return true;
} catch (NumberFormatException | NullPointerException e) {
return false;
}
}
或者你只是把所有的东西都放在一个try-catch块中:
List<String> graphlist = Arrays.asList(formula.split(","));
if(!(graphlist.get(0) instanceof String || graphlist.get(1) instanceof String)){
try {
lower = Double.parseDouble(graphlist.get(2));
upper = Double.parseDouble(graphlist.get(3));
} catch (NumberFormatException | NullPointerException e) {
s.append("Invalid Graph Syntax.");
}
}
请包括错误为什么不把它放在一个try-catch块周围,让我们知道例外情况?如果你了解类型化容器是如何工作的?我建议你在问更多琐碎的问题之前先读一读关于他们的内容:以及