Tag:

Class <?的语法是什么? 在kotlin中扩展class_name>?

我正在尝试使Arraylist接受从Word_Class继承的任何类变量,但它不起作用: var lst = ArrayList<Class<Word_Class>>(); lst.add(Class<Noun_Class>); 我正在寻找Class <?的语法 在kotlin中扩展class_name>

Kotlin使用Parcelable将ListArray传递给另一个Activity

我有一个自定义类充满了用户的信息。 我使用ArrayList来保存所有的用户类数据。 我想将数组传递给可以读取和修改的另一个活动。 由于数组可能很大,因此我需要尽可能高效和快速地完成此过程,这就是为什么我选择使用Parcelable而不是Serializable。 我在使用Kotlin时遇到了麻烦。 有很多的Java教程,但没有在Kotlin,这是什么使这个问题不同,那么所有其他人。 有人可以提供和解释Kotlin的代码如何实现? 这是我迄今为止: constructor(`in`:Parcel) { CollegeName = `in`.readString() } override fun describeContents(): Int { return 0 } override fun writeToParcel(dest: Parcel?, flags: Int) { } private fun readFromParcel(`in`:Parcel) { CollegeName = `in`.readString() } companion object { @JvmField final val CREATOR: Parcelable.Creator<College> = object: Parcelable.Creator<College> { override fun createFromParcel(source: Parcel): College […]

Kotlin类实现Java接口错误

我有一个Java界面 public interface SampleInterface extends Serializable { Long getId(); void setId(Long id); } 和一个应该实现它的Kotlin类 open class ClazzImpl() : SampleInterface private val id: Unit? = null fun getId(): Long? { return null } fun setId(id: Long?) { } 但是我得到一个编译错误: 类ClazzImpl不是抽象的,也不实现抽象成员public abstract fun setId(id:Long!):在com中定义的单元… SampleInterface 任何想法是什么错误?

从kotlin的顶层函数获取类的引用

我写了一个简短的程序,不需要任何类,而只需要顶层函数。 从你写的java代码中找到你的jar的位置 MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath() 但是因为我没有在我的kotlin代码中声明任何类,所以我不知道如何获得类的引用。 我目前的实施是这样的 class Ref val jarPath = Ref::class.java.protectionDomain.codeSource.location.toURI().path 这显然是很糟糕的代码。 所以我的问题是,如何在没有声明任何无关紧要的类的情况下获得kotlin中的类引用。 任何提示赞赏:)

什么是Kotlin类初始化语义?

我一直无法在解释Kotlin中一个类的初始化的语言定义中找到任何东西。 import java.util.Properties fun main(args: Array<String>) { val out = MyClass() out.fn() } class MyClass { private val a = Properties() // 1 init { fn() } public fun fn() { println("Fn called. a = $a") } // private val a = Properties() // 2 } 运行这个程序的结果会根据属性是在(1)还是在(2)初始化而改变。 我很惊讶宣言的顺序与语言有关,并希望了解这背后的决定。 我的期望是在调用构造函数体之前初始化属性。

Java中的Kotlin内部类可公开显示

我正在Kotlin开发一个Android 加密库 。 我有一些在Java应用程序中公开可见的internal类。 在文件中找到这个 。 internal声明在Java中public 。 internal类的成员通过名称修改,使它更难以从Java意外使用它们,并允许根据Kotlin规则相同签名的成员不能相互看到的成员超载; 有没有办法解决这个问题?

相当于c ++类数组的Kotlin

我试图找到在C ++中使用类库的Kotlin等价物 class Widget { public: int x; float w; } Widget data[100];