我正在尝试将代码转换为反射。这是我要转换为反射的确切代码
android.os.Process.killProcess(android.os.Process.myPid());
这是我的反射代码。
Class<?> process = Class.forName("android.os.Process");
Method killProcess = process.getMethod("killProcess", Integer.TYPE);
Method myPid = process.getMethod("myPid");
killProcess.invoke(null, myPid.invoke(null));
问题是我在这行myPid.invoke(null)
上收到警告,标题中的警告是Argument is not assignable to 'int'
这是警告的快照。
我的问题是如何在不使用超越的情况下解决此警告?我不想以正确的方式解决此问题,而不是使用超越警告注释或禁用警告。
答案 0 :(得分:0)
使用invoke
的{{1}}返回值来解决警告。
myPid
将完整代码段强制转换为killProcess.invoke(null, (int) myPid.invoke(null));
int
将代码段转换为Class<?> process = Class.forName("android.os.Process");
Method killProcess = process.getMethod("killProcess", Integer.TYPE);
Method myPid = process.getMethod("myPid");
killProcess.invoke(null, (int) myPid.invoke(null));
后的快照