Tag: 类型参数

如何获取通用类型参数?

只是: public static class MyClass { // i don’t want to keep an instance of T, if it is not necessary. // and it is not nice, not neat. // Or, let’s say, the member are in the form of : ArrayList mArrayList = new ArrayList(); // the problem of getting the generic type parameter […]

使用inheritance构建通用树

我正在构建一个通用的Tree类,它支持子树的inheritance。 但我遇到了一些问题。 请你帮帮我吗? 描述 让我们定义Tree类和BlueTree类,其中BlueTree extends Tree 。 让我们定义Leaf类和RedLeaf类,其中RedLeaf extends Leaf 。 它们被用作树包含的“数据”。 Tree表示Tree类型的Tree ,其“data”是Leaf类型。 对于inheritance (这不是适当的Javainheritance): Tree可以有类型的子项 Tree , Tree , BlueTree和BlueTree 。 。 Tree可以有类型的子项 Tree和BlueTree , 但不是 Tree或BlueTree 。 。 BlueTree可以有类型的子项 BlueTree和BlueTree , 但不是 Tree或Tree 。 。 BlueTree可以有类型的子项 BlueTree , 但不是 Tree , Tree或BlueTree 。 *这里,“孩子”是指树的分支/叶子。 (有点复杂,这就是我将线分开的原因。) 代码 (如果你有一个解决方案,你可能不需要阅读下面我的尝试的详细说明。如果你想一起找到解决方案,我的代码可能会给你一些想法 – 或者,它可能会混淆它们。) 初审 :(简单的) […]

Java通用类从类型参数中排除集合

我找到了一种正确的方法来实现我正在寻找的逻辑,但我很好奇为什么以下不起作用。 半小时的搜索没有得到答案,但有可能我没有正确地写出这个问题。 我想要做的是限制类型参数,以便不接受集合。 虽然我可以测试参数类型,但我宁愿让IDE指示Class不接受Collection作为类型参数。 我知道关键字排除不存在,但我希望它有助于说明手头的问题。 public class Foo { //TODO: Carry out Collectionist operations } 有没有办法在Java中这样做? 我认为这不是最佳实践,即使有可能,但我想满足我的好奇心,努力扩展我对generics的理解。 感谢您的时间和考虑!