java形参泛型,无法用传进来的泛型进行初始化,代码如下 50
publicabstractclasscomb{publicStringpath;publicintcount=1;publiccomb(Stringpath){this...
public abstract class comb {
public String path;
public int count=1;
public comb(String path){
this.path=path;
}
public void setPath(String s){
this.path=s;
}
public String getPath(){
return this.path;
}
public void countAdd(){
count++;
}
}
public class twoComb extends comb{
public twoComb(String path) {
super(path);
// TODO Auto-generated constructor stub
}
}
public class threeComb extends comb{
public threeComb(String path) {
super(path);
// TODO Auto-generated constructor stub
}
}
以上是三个类,分别三个java文件。一个抽象类,两个类继承了。
最后在另一个类写了个static方法,
public static <T extends comb> void treeSetCheck(TreeSet<T> set,String path){
boolean ifExist=false;
for(T com:set){
if(com.getPath()==path){
com.countAdd();
ifExist=true;
}
}
if(ifExist==false) set.add(new T(path));
}
set.add(new T(path));这里提示Cannot instantiate the type T,无法初始化T,这种怎么解决啊,还是说必须单独设计两个treeSetCheck来检查两个继承类? 展开
public String path;
public int count=1;
public comb(String path){
this.path=path;
}
public void setPath(String s){
this.path=s;
}
public String getPath(){
return this.path;
}
public void countAdd(){
count++;
}
}
public class twoComb extends comb{
public twoComb(String path) {
super(path);
// TODO Auto-generated constructor stub
}
}
public class threeComb extends comb{
public threeComb(String path) {
super(path);
// TODO Auto-generated constructor stub
}
}
以上是三个类,分别三个java文件。一个抽象类,两个类继承了。
最后在另一个类写了个static方法,
public static <T extends comb> void treeSetCheck(TreeSet<T> set,String path){
boolean ifExist=false;
for(T com:set){
if(com.getPath()==path){
com.countAdd();
ifExist=true;
}
}
if(ifExist==false) set.add(new T(path));
}
set.add(new T(path));这里提示Cannot instantiate the type T,无法初始化T,这种怎么解决啊,还是说必须单独设计两个treeSetCheck来检查两个继承类? 展开
1个回答
2017-04-15
展开全部
依稀记得java是不能实例化泛型的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询