private static transient JavaPlugin myPlugin = null;
public SomeClass(JavaPlugin plugin) {
if (myPlugin == null) myPlugin = plugin;
}
public <T> T getPlugin(Class<? extends JavaPlugin> plugin) {
return (T)myPlugin; // return casted version of "myPlugin" form above
}
以下の行でそれを呼び出すと問題なく動作し、JavaPlugin を拡張しないクラスを使用しようとすると、コンパイル時にエラーがスローされます。しかし、上記の関数が必要なく機能するようにするにはどうすればよいです@SuppressWarnings("unchecked")
か??
MyPlugin nc = this.getPlugin(my.main.package.MyPlugin.class);