如何在Kotlin中声明原始类型?

在Java中,我可以声明这一点

private List a; //onCreate a = new ArrayList() 

但在Kotlin它显示错误,这迫使我具体的类型

 private List<String> a 

有时我不想提供一个类型(我不需要),但它显示Kotlin中的错误例如在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(); } } 

我可以在Kotlin中写些什么来在java中实现相同的代码

你可以使用星形投影

例如

 private List<*> a 

从文档中引用:“Java的原始类型转换为星形投影, List变成List<*> !,即List<out Any?>

因此,您可以使用星号投影,如<*>