前几天我遇到了sun.misc.Unsafe包裹,并对它能做什么感到惊讶.
当然,这门课没有证件,但我想知道是否有充分的理由使用它.您可能需要使用哪些场景?它如何在现实场景中使用?
此外,如果您确实需要它,那是否表明您的设计可能出现问题?
为什么Java甚至包括这个类?
根据JavaDocs,newInstance()Method of java.lang.Class并不打算返回null.但我的代码似乎证明了相反的情况.为什么?
public Assessment createAssessment() {
Class<? extends Assessment> assessmentClass = (Class<? extends Assessment>) assessmentClassDataTable.getRowData();
try {
System.out.println("ASSESSMENTCLASS " + assessmentClass);
// -> 'ASSESSMENTCLASS class my.model.ManualSelectAssessment'
Assessment a = assessmentClass.newInstance();
System.out.println("ASSESSMENT " + a);
// -> 'ASSESSMENT null'
return a;
} catch (Exception e) {
Application.handleError(e);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
它返回null.