gpt4 book ai didi

Java:如何创建实现抽象接口(interface)的泛型类的实例?

转载 作者:行者123 更新时间:2023-12-01 20:08:14 25 4
gpt4 key购买 nike

现在,我正在尝试创建泛型类的实例 BTree<T>它实现了一个接口(interface) SSet<T>进而实现 Iterable<T>我已经删除了 BTree<T> 中的大部分代码类,只留下构造函数。不过,如果有必要,如果有人认为有帮助,我可以添加整个代码。 BTree<T>类看起来像这样:

package assignment2_draft;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;

public class BTree<T> implements SSet<T> {

//Some methods

public BTree(int b, Class<T> clz) {
this(b, new DefaultComparator<T>(), clz);
}

}

在我自己的类(class)中,我尝试调用 BTree<T>类并将一个 Integer 传递到泛型中。在我的类里面,我有:

BTree<Integer> myTree=new BTree<Integer>(Integer.class);

它以前在泛型类中工作过,但在这个类中不起作用。我想知道我传递的参数对吗?或者我需要以某种方式引用SSet<T>创建 BTree<T> 的实例时

最佳答案

你的构造函数签名是 BTree(int, Class<T>)

所以看来你需要做类似的事情

SSet<Integer> tree = new BTree<Integer>(2, Integer.class);

请注意,引用是 SSet<>不是BTree<> - 你可以使用BTree<>如果您愿意,可以引用那里,但一般来说它比 program to an interface 更好。除非你有理由不这样做。

关于Java:如何创建实现抽象接口(interface)的泛型类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47088972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com