这是在java中使用instanceof关键字进行验证的正确方法吗?我可以不使用||运营商使用此关键字?我在写if if条件的行中看到错误,以检查FieldName< = 0,当我检查它是否等于null或空时。任何人都可以帮助我正确编写以下代码。谢谢。
public static boolean validation(Object FieldName, String Name) {
if(FieldName instanceof Integer) {
if ((int) FieldName < = 0) {
errorCode = "EXCEPTION";
errorMsg = "Required field " + Name + " was not provided";
logger.debug(Name+ " is null ");
return true;
}
else {
}
}
else if (FieldName instanceof String) {
if(FieldName == null || FieldName.equals("")) {
errorCode = "EXCEPTION";
errorMsg = "Required field " +Name+" was not provided";
logger.debug(Name+" is null ");
return true;
}
//Here I check the fields for null or empty
}
答案 0 :(得分:0)
为什么没有两个方法,一个采用整数并验证,一个验证字符串?这会更简单吗?
答案 1 :(得分:0)
该行需要更改为
if (((int) FieldName) <= 0) {
当你没有完全围绕演员表放置括号时,编译器仍会认为它是一个对象而不是一个整数。
答案 2 :(得分:0)
试试这个。根据你改变if和else的身体
public static boolean validation(Object FieldName, String Name) {
if (FieldName instanceof Integer) {
if (((Integer)FieldName) <= 0) {
//an integer <= 0
return true;
} else {
// an integer >= 0
return true;
}
} else if (FieldName instanceof String) {
if (FieldName == null || FieldName.equals("")) {
// a String empty or null
return true;
}
else {
// a String non empty
return true;
}
}
return false;
}