Java中是否有as operator的实现?
我正在寻找一些简单的东西,就像在某些共享库中遵循以下代码片段一样。
public static <T> T as(Class<T> clazz, Object object) {
if (object == null)
return null;
if (clazz.isAssignableFrom(object.getClass()))
return (T) object;
return null;
}
我可以使用的东西
public boolean equals(Object obj) {
Peer peer = as(Peer.class, obj);
if (peer == null) return false;
...
}
最佳答案
不,Java中的等效用法是
public boolean equals(Object obj) {
if(!obj instanceof Peer)
return false;
Peer peer = (Peer)obj;
...
}