在Java中,我可以宣布这个如何在Kotlin中声明原始类型?
private List a;
//onCreate
a = new ArrayList()
但在科特林它显示错误,它迫使我特定类型
private List<String> a
有时候我不想提供一个类型(我不需要到),但它显示的错误在科特林 例如 在Java
public abstract class BaseActivity<T extends ViewDataBinding> extends AppCompatActivity {
//something
}
public abstract class BaseFragment {
private BaseActivity activity;
//something
}
//in kotkin I can't write
lateinit var activity: BaseAtivity //show error here (I have to specific a type but this is the base class and I do not want to specific a type here). I just want a reference of BaseActivity
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof BaseActivity) { //good in java but show error
//in kotlin because I have to //specific a type like BaseAtivity<something>
BaseActivity activity = (BaseActivity) context;
this.mActivity = activity;
activity.onFragmentAttached();
}
}
我可以在科特林写什么来实现在java中相同的代码
应该指出,你不应该忽略Java中的<<>。原始类型不是理想的任何手段。 – Carcigenicate
谢谢你的警告我 – coinhndp
至少比较喜欢'BaseActivity >'。原始类型存在与Java-5之前的代码互操作。 –