我正在编写的小程序的一部分:
String maxs = "";
int maxi = 0;
在这一部分,我将两个变量定义为int
和String
。
public Class(String max){
try {
this.maxi = Integer.parseInt(max);
}catch (Exception e){
this.maxs = max;
}
}
我认为这样我将定义其中一个变量,如果String不解析为int,它将保存为普通String。
现在我需要检查一下我需要返回的内容:
private TypeOfReturn getMax(){
if(this.maxi == 0){
// return maxs (return String)
} else if (this.maxs.equals("")) {
// return maxi (return int)
} else return null;
}
问题是,如何填写方法getMax()
的缺失部分?
它在Java中是否可行?
答案 0 :(得分:1)
使用Object代替TypeOfReturn 您可以将TypeoOfReturn更改为Object,然后返回相应的类型。
答案 1 :(得分:1)
如果一个字符串是一个数字与否,这是你的程序的主要部分,另一种找出快速的方法是在java 8中使用lambda表达式,如下所示:
String max = "123";
boolean isNumber = max.chars().allMatch(Character::isDigit);
System.out.println(isNumber);
哪个会给你输出
true
答案 2 :(得分:0)
将TypeOfReturn设为String对象类型,并将maxi转换为String,并在else if条件下返回该字符串。
注意:您不能在Same方法中返回int和String。