java - Android 上翻译器对象的抽象类或接口(interface)

标签 java android generics

我想为用户抽象一个翻译服务。 我认为有两种方法:

或者与此方法交互:

public void translate(T  origin, T1 source);

或者具有相同方法的抽象类,两者都具有与我需要的类一起使用的通用类。

接口(interface)和抽象类哪个更好?

我如何在 android 中使用泛型类来做到这一点?因为编译器告诉我

Cannot resolve symbol T

我希望我能正确解释。

最佳答案

通用参数应该出现在接口(interface)(或抽象类)声明中:

public interface Translator <T,T1>
{
    public void translate(T  origin, T1 source);
}

抽象类和接口(interface)哪个更合适,取决于接口(interface)(或抽象类的子类)的实现者是否可以被视为与接口(interface)/抽象类是同类或不。如果答案是肯定的,那么抽象类就合适。

关于java - Android 上翻译器对象的抽象类或接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985093/

相关文章:

c# - 如何在不指定类型的情况下将泛型类存储在列表中?

java.util.Properties - 如何按需清除内存

java - 在java中用二维数组绘制数字钻石

Java - 如何导航到 android studio 中的 map 网址?

android - 如何使用最新的 AppCompat 为按钮着色

java - 使用 <T> 的通用方法调用

Java如何返回扩展接口(interface)的泛型类型

java - 获取imei信息时如何获取dialogFragment中的上下文

java - Ignite C++ 和缓存亲和性

android - 是否可以强制 cordova inAppBrowser 使用 Crosswalk webView?