我为同一目的应该使用哪种方法Signature感到困惑?两者对我来说都很好。

1.

public <T, J> T findUniqueByCondition(String tableName,
                                      String key,
                                      J value,
                                      Class<T> targetObject);

2.
public <T> T findUniqueByCondition(String tableName,
                                   String key,
                                   Object value,
                                   Class<T> targetObject);

从上方使用哪种最佳实践?我真的很困惑,找不到任何人的优势或劣势?有没有?如果是,请解释。

最佳答案

就像没有什么区别,对于T,您使用两次该类型,因此您有理由使用它,而对于J,则仅使用一次。

如果它真的可以是任何对象,并且您再也不必使用该类型,则没有理由为其使用泛型。泛型允许您获取方法的返回类型和参数,并将其中的2个或多个链接在一起。当在类定义中使用泛型时,它们还允许您将多个方法链接在一起。

这些用例均不适用于此处。

关于java - 方法声明中的泛型类型和对象之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24269367/

10-14 11:39