1621得票24回答
如何通过对象中的属性对List<T>进行排序

我有一个名为Order的类,它具有诸如OrderId、OrderDate、Quantity和Total等属性。我有一个这个Order类的列表: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(obj...

1423得票22回答
创建一个泛型方法,限制 T 为枚举类型。

我正在编写一个函数来扩展Enum.Parse的概念,该函数具有以下特点: 允许在找不到枚举值时解析默认值 不区分大小写 因此,我编写了以下代码: public static T GetEnumFromString&lt;T&gt;(string value, T defaultVal...

1282得票9回答
如何使用Type变量调用通用方法?

什么是在编译时不知道类型参数,而是在运行时动态获取类型参数时调用通用方法的最佳方式? 考虑以下示例代码 - 在Example()方法内部,使用存储在myType变量中的Type,如何以最简洁的方式调用GenericMethod&lt;T&gt;()? public class Sample...

1234得票32回答
如何在Java中创建一个通用数组?

由于Java泛型的实现,您无法编写以下代码: public class GenSet&lt;E&gt; { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error:...

1041得票14回答
Java中<? super T>和<? extends T>的区别

什么是 List&lt;? super T&gt; 和 List&lt;? extends T&gt; 的区别? 我过去常使用 List&lt;? extends T&gt;,但它不允许我向其中添加元素 list.add(e),而 List&lt;? super T&gt; 可以。

900得票19回答
List<Dog>是List<Animal>的子类吗?为什么Java泛型不是隐式多态的?

我对Java泛型如何处理继承/多态有些困惑。 假设有以下层次结构 - 动物(父类) 狗 - 猫(子类) 那么假设我有一个方法doSomething(List&lt;Animal&gt; animals)。根据继承和多态的所有规则,我会认为List&lt;Dog&gt;是List&lt;...

898得票16回答
什么是PECS(生产者扩展消费者超)?

在研究泛型时,我遇到了PECS(Producer extends和Consumer super的缩写)。 有人可以向我解释如何使用PECS解决extends和super之间的混淆吗?

894得票24回答
如何获取泛型类型T的类实例?

我有一个泛型类Foo&lt;T&gt;。在Foo的一个方法中,我想要获取类型T的类实例,但是我无法直接调用T.class。 有什么更好的方法可以使用T.class吗?

841得票17回答
如何从泛型类或方法的成员中获取T的类型

假设我有一个类或方法中的通用成员,如下所示: public class Foo&lt;T&gt; { public List&lt;T&gt; Bar { get; set; } public void Baz() { // get type...

813得票15回答
什么是原始类型,为什么我们不应该使用它?

问题: 什么是Java中的原始类型,为什么经常听到它们不应该在新代码中使用? 如果不能使用原始类型,那么替代方案是什么,它为什么更好?