if(a!= null && a instanceof A)...或者if(a的实例)

Dmi*_*riy 8 java

对于以下条件:

if (a != null && a instanceof A)
Run Code Online (Sandbox Code Playgroud)

要么

if (a instanceof A)
Run Code Online (Sandbox Code Playgroud)

首先检查是否有任何优势(例如,性能方面)null?两个条件在结果上应该相等.

nai*_*kus 20

没有任何优势,你可以做到

if(a instanceof A) {}
Run Code Online (Sandbox Code Playgroud)

如果是的话,这会将evaluate 返回 falsenull

  • +1 JLS:在运行时,如果RelationalExpression的值不为null,则instanceof运算符的结果为true,并且可以在不引发ClassCastException的情况下将引用强制转换(第15.16节)到ReferenceType.否则结果是错误的.http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#80289 (5认同)