有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何以泛型的方式编写?

我有一个接口,Parseable。其中我有一个方法,它应该返回实现方法的对象。说

P1 implements Parseable {
    P1 fromJson(JSONObject){}
}

它给出了带有以下签名的不安全类型警告。我该怎么修

<T> T fromJson(JSONObject)


共 (2) 个答案

  1. # 1 楼答案

    public interface Parseable<T> {
        T fromJson(JSONObject js);
    } 
    
    P1 implements Parseable<P1> {
        P1 fromJson(JSONObject js) { ... }
    }
    
  2. # 2 楼答案

    使接口本身通用,而不是方法

    声明Parseable为:

    public interface Parseable<T> {
        public T fromJson(JSONObject obj);
    }
    

    P1

    public class P1 implements Parseable<P1> {
        @Override
        public P1 fromJson(JSONObject obj){}
    }