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

09-27 06:03