java构造函数从未被使用过
我有一些问题
我有一个家长班
abstract class Tetramino{}
以及一些子类,这些子类使用显式列出的默认构造函数扩展父类
class LineHorizontal extends Tetramino
{
LineHorizontal() { // do some}
}
class LineVertical extends Tetramino
{
LineVertical () {// do some}
}
我有一个生成子类的生成器类
class MinoGenerator
{
private static final String TAG = "MinoGenerator";
private static final Class[] types = {LineHorizontal.class, LineVertical.class, Square.class,
L0.class, L90.class, L180.class, L270.class, LR0.class, LR90.class, LR180.class,
LR270.class, T0.class, T90.class, T180.class, T270.class, Z0.class,
Z180.class, RZ0.class, RZ180.class};
static Tetramino next()
{
try{
int type = (int) (Math.random() * types.length);
return (Tetramino) types[type].newInstance();
} catch (Exception e){
e.printStackTrace();
Log.e(TAG, "Error while creating new tetramino");
}
return null;
}
}
当我想创建一个新的时,我调用next()。 然后,一个newInstance()函数调用consturtors implicit并返回一个随机值。 但是安卓 studio在构造函数上标记了一个警告“构造函数从未使用过”,我如何修复它? 谢谢你的回复
# 1 楼答案
假设使用Jack,更好的方法是使用lambda表达式:
然后,在
next()
方法中:请注意,这实际上是在使用类的构造函数,因此不再有未使用的警告。而且它比反射更安全
# 2 楼答案
尝试添加
@SuppressWarnings("unused")
悬停在你的类中比如:
这在IntelliJ IDEA上是可行的,我认为在Android Studio上也是可行的