当前位置:  开发笔记 > 编程语言 > 正文

无法编译类在具有泛型列表参数的接口中调用方法

如何解决《无法编译类在具有泛型列表参数的接口中调用方法》经验,为你挑选了1个好方法。



1> Kris Nuttyco..:

您的MyAsync接口不包含任何方法签名且没有特别信息的名称这一事实从我的角度来看是代码味道,但我认为这只是一个虚拟的例子.在编写时,getList()无法以任何方式使用回调的任何合理实现; 请记住,类型擦除会将此方法签名擦除getList(MyAsync callback);

这不能编译的原因是你的绑定是错误的.MyAsync>给T作为List一个未知类型的列表.

它看起来像你想要的getList方法本身是通用的:

public interface ServiceAsync {
    public  void getList(MyAsync> callback);
}

public class MyClass {
    public void foo() {
        ServiceAsync service = null;
        MyAsync> callBack = new MyAsync>() {};

        service.getList (callBack);  // This compiles
    }
}

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有