Syntax error, insert “Dimensions” to complete ReferenceType

  • Post author:
  • Post category:其他

今天在写下面的代码时,编译器报错:Syntax error, insert “Dimensions” to complete ReferenceType

package s1;

public class O {
	public static void main(String[] args) {
		O1<Object> o1 = new O1();
		O1<Integer> o12 = new O1();
                //因为int,报错:Syntax error, insert "Dimensions" to complete ReferenceType
		O1<int> o12 = new O1<int>(); 
	}
}

class O1<T> {
	static void test() {
		
	}
}

上网查找资料发现是因为:class O1<T>,只可以使用引用(对象)类型,不可以是基本类型!

如果是方法void test(T t)则既可以使用引用(对象)类型,也可以使用基本类型。例子:

package s1;

public class O {
	public static void main(String[] args) {
		O1<Object> o1 = new O1();
		o1.test(2);
	}
}

class O1<T> {
	<T> void test(T t) {
		System.out.println("test");
	}
}

 


版权声明:本文为GracefulGuigui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。