我如何使用实例关键字Java



这是在java中使用instanceof关键字验证的正确方法吗?我可以不使用这个关键字的||运算符吗?我看到我正在编写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 
}

为什么不使用两个方法,一个接受Integer并对其进行验证,另一个验证string ?那样会更简单吗?

这一行需要改为

if (((int) FieldName) <= 0) {

当你不把括号完全括起来时,编译器仍然会认为它是一个对象而不是整数。

试试这个。

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;
}

最新更新