解決前的源代碼:
public class test {
public static void main(String args[]) {//入口
try {
//假設在同一個包中建的一個javaBean: person
Class c = Class.forName("person");//警告出現在這里
try {
person factory = (person) c.newInstance();
factory.setName("asdf");
System.out.println(factory.getName());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
------------------------------
- 解決方法1:增加編譯注解@SuppressWarnings("unchecked")
public class test {
@SuppressWarnings("unchecked")//增加在這里
public static void main(String args[]) {
try {
Class c = Class.forName("person");//警告出現在這里
try {
person factory = (person) c.newInstance();
factory.setName("asdf");
...以下省略
------------------------------
- 解決方法2:使用泛型通配符
public class test {
public static void main(String args[]) {//入口
try {
Class<?> c = Class.forName("person");//這里使用泛型通配符
try {
person factory = (person) c.newInstance();
factory.setName("asdf");
System.out.println(factory.getName());
...以下省略