gpt4 book ai didi

java - Kotlin 中类的静态对象列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:35:24 25 4
gpt4 key购买 nike

Static List of all Objects of Class
如果可以的话,这可以与 Kotlin 一起使用吗?您能提供一个示例吗?

现在我的界面没有列表,我正在两个实现中创建一个伴随对象。但不知何故感觉不对......请帮助我解决这个问题:)

我现在有四种方法可以做到这一点,我将在这里展示其中两种,因为第四种方法需要更复杂的UML。也许这实际上就是你的做法,如果不是你们中的一个人有一个想法;)

我的 Kotlin 代码方法一:

interface IMyClass {
}

class MyClassOne : IMyClass {
companion object {
var myClassList: ArrayList<IMyClass> = ArrayList()
}
constructor() {
println(myClassList)
}
}

class MyClassTwo : IMyClass {
companion object {
var myClassList: ArrayList<IMyClass> = ArrayList()
}
constructor() {
println(myClassList)
}
}

我的 Kotlin 代码方法二:

interface IMyClass {
companion object {
var myClassList: ArrayList<IMyClass> = ArrayList()
}
}

class MyClassOne : IMyClass {
constructor() {
println(IMyClass.myClassList)
}
}

class MyClassTwo : IMyClass {
constructor() {
println(IMyClass.myClassList)
}
}

我的 Kotlin 代码方法三:

interface IMyClass {
var myClassList: ArrayList<IMyClass>
}

class MyClassOne {
companion object : IMyClass{
override var myList: ArrayList<IMyClass>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
set(value) {}
}
}

class MyClassTwo {
companion object : IMyClass{
override var myList: ArrayList<IMyClass>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
set(value) {}
}
}

我的 Java 代码:

public interface IMyClass {
List<IMyClass> myClassList = new ArrayList<>();
}

public class MyClassOne implements IMyClass {
public MyClassOne() {
System.out.println(myClassList );
}
}

public class MyClassTwo implements IMyClass {
public MyClassTwo() {
System.out.println(myClassList);
}
}

最佳答案

我个人决定选择第三种选择:

interface IMyClass {
var myClassList: ArrayList<IMyClass>
}

class MyClassOne {
companion object : IMyClass{
override var myList: ArrayList<IMyClass>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
set(value) {}
}
}

class MyClassTwo {
companion object : IMyClass{
override var myList: ArrayList<IMyClass>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
set(value) {}
}
}

关于java - Kotlin 中类的静态对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56577698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com