Java 警告:使用-Xlint编译:未选中此代码上的pops!
当我用java编译时,这个代码段会生成一个警告。 我想这是属于这一行的Java 警告:使用-Xlint编译:未选中此代码上的pops!,java,Java,当我用java编译时,这个代码段会生成一个警告。 我想这是属于这一行的 import java.lang.reflect.Method; public class ClassLoadingTester { public static void main(String a[]){ try{ ClassLoader loader=new CustomClassLoader(); Class c=loader.loadClass
import java.lang.reflect.Method;
public class ClassLoadingTester
{
public static void main(String a[]){
try{
ClassLoader loader=new CustomClassLoader();
Class c=loader.loadClass("AddClass");
loader=null;
Object o=c.newInstance();
Method m=c.getMethod("getTwoNumbers",new Class[]{String.class,String.class});
m.invoke(o,new Object[]{"2","3"});
}catch(Exception e){
e.printStackTrace();
}
}
}
当我试图像这个新类[]{String.Class,String.Class}
它会生成一个错误,表示我正在用BlueJ编写代码
但当我把代码保持原样时,它会生成令人恼火的警告
我只是想消除这个警告,我应该如何处理这行代码?您不能创建类这样的泛型类型数组,因此会出现错误。因此,除了在语句之前添加@SuppressWarningUnchecked注释以使警告静音之外,您别无选择
请注意,这些警告几乎总是有原因的,并且定期以这种方式使它们静音可能很容易导致运行时类强制转换异常!因此,在使用@SuppressWarningUnchecked之前,一定要三思而后行——只有当你绝对确定演员是安全的并且不会有负面后果时才使用它。在这种情况下,我认为使用它是安全的。虽然这个答案可以解决OP的问题,但建议提供一些解释,说明这个答案如何实现解决方案。仅仅发布代码答案可能对OP和未来用户毫无帮助。请详细说明。
Method m=c.getMethod("getTwoNumbers",new Class[]{String.class,String.class});
int t=10, a=7, b=52, d=97;
if((t + d) / 2 > b && (d - t) % 2 != 0)
if(a%2==0 || b%2==0)
System.out.println(--t + a);
else
System.out.println(--t - a);
else
System.out.println(t + ++a);