在构造方法里使用泛型,我起先写的代码如下:
package generic;
class Con<T>{//指定泛型T
private T value;//指定一个属性T,叫value
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
//创建类的构造方法
public Con(T value){
this.value = value;
}
}
public class GenericDemo02 {
public static void main(String[] args){
Con<String> c = new Con<String>("构造方法中使用泛型");
System.out.println(c.getValue());
}
}
运行后报错:
Caused by: java.lang.ClassNotFoundException: com.generic.Con
经过排查,发现是类名导致的错误(不知道为什么,求指导)导致的:
修改类名:
package com.generic;
/**
* Created by d007l on 2016/10/19.
*/
class Construct<T>{//指定泛型T
private T value;//指定一个属性T,叫value
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
//创建类的构造方法
public Construct(T value){
this.value = value;
}
}
public class GenericDemo02 {
public static void main(String[] args){
Construct<String> c = new Construct<String>("构造方法中使用泛型");
System.out.println(c.getValue());
}
}
运行结果:
构造方法中使用泛型
OK,终于好了~
**经后期再次查资料,发现问题所在:
“con是Windows下的一个保留字,文件夹、文件名都不能以此命名 ”