标签: instanceof

java中的instanceof

可能重复:
Java:冒号(:)运算符有什么作用?

for (CreditCard cc : credit1)
Run Code Online (Sandbox Code Playgroud)

&

if (index instanceof RewardCard)
Run Code Online (Sandbox Code Playgroud)

是":"和instanceof相同?所以我可以使用?

if (index : RewardCard)
Run Code Online (Sandbox Code Playgroud)

要么

for (CreditCard cc instanceof credit1)
Run Code Online (Sandbox Code Playgroud)

如果没有,有人可以解释一下":"是什么意思吗?

java instanceof

-1
推荐指数
1
解决办法
335
查看次数

if(x instanceof X)的奇怪行为

我有一个类PartA和一个类PartB派生类PartA.我有一个PartA包含a和b部分的类型列表.我需要确定当我循环它时它实际上是哪种类.但如果我这样做:

for (PartA i : parts) {
    if (i instanceof PartA) {
        //some logic
    }
Run Code Online (Sandbox Code Playgroud)

无论它实际上是哪一类,它仍然会成立:a或b.

我做错了什么,如果没有,我能做些什么来达到预期的效果呢?

java inheritance class instanceof

-1
推荐指数
1
解决办法
156
查看次数

对象类型解析:instanceof

当我尝试编译并运行这部分代码时,我得到了这个错误:

线程"AWT-EventQueue-0"中的异常java.lang.Error:未解决的编译问题:无法将侦听器解析为变量

at FormPanel.setFormListener(FormPanel.java:273)
at MainFrame.<init>(MainFrame.java:37)
at App$1.run(App.java:10)
Run Code Online (Sandbox Code Playgroud)

代码是这样的:

//  public void setFormListener(DailyFormListener listener) {
//      this.formDayListener = listener;
//      
//  }
public void setFormListener(Object o) {
    if (o instanceof DailyFormListener) {
        this.formDayListener = listener;
    }
    else if (o instanceof GeneFormListener) {
        this.geneFormListener = listener;
    }
    else if (o instanceof LabFormListener) {
        this.labFormListener = listener;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是从第273行开始的.我的问题是,它运行时已经注释掉了上面的部分,但是现在在未注释的部分中.我需要更改什么才能让setFormListener足够通用来处理这个问题?我可以根据需要提供更多代码或信息.

java object instanceof

-1
推荐指数
1
解决办法
70
查看次数

防止 Java 中的 instanceof 和强制类型转换

instanceof如果我想要使用方法签名不同的不同验证器,如何避免在这种情况下使用和转换?

代码

for(BatchValidator validator : validators) {
  try {     
    if (validator instanceof BatchErrorValidator) {
      ((BatchErrorValidator<T>) validator).validate(targets);
    } else if (validator instanceof BatchWarningValidator) {
      ((BatchWarningValidator<T>) validator).validate(targets, header);
    }
  } catch (BatchValidationException e) {
    handleImportExceptions(e, header.getSequenceId());
  }
}
Run Code Online (Sandbox Code Playgroud)

java oop instanceof

-1
推荐指数
1
解决办法
145
查看次数

简化代码并避免instanceOf和null检查

我想简化代码(例如使用Optionals)

private String formatValue(Object value) {
    if (value == null) {
        return null;
    } else if (value instanceof Date) {
        return MyUtils.formatDate((Date)value, Constant.DATE_FORMAT_YYYYMMDD_HHMMSS);
    }

    return value.toString();
}
Run Code Online (Sandbox Code Playgroud)

值可以是:nullStringDate

java null object instanceof optional

-1
推荐指数
1
解决办法
90
查看次数

标签 统计

instanceof ×5

java ×5

object ×2

class ×1

inheritance ×1

null ×1

oop ×1

optional ×1