我如何使用instanceof Keyword Java

时间:2015-07-10 19:01:54

标签: java string if-statement integer instanceof

这是在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 
}

3 个答案:

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