Java 将类对象存储在ArrayList中

Java 将类对象存储在ArrayList中,java,arraylist,kotlin,Java,Arraylist,Kotlin,我正在开发一个简单的应用程序(待办事项列表应用程序)。我创建了一个名为tasks的类: class tasks(var title:String, var time:String) 并将一些任务存储在数组列表中: fun main(args: Array<String>){ var tasks_list = ArrayList<tasks>(tasks("hello","3am"),tasks("meet amy","5pm")) } fun main(arg

我正在开发一个简单的应用程序(待办事项列表应用程序)。我创建了一个名为
tasks
的类:

class tasks(var title:String, var time:String)
并将一些
任务
存储在
数组列表中

fun main(args: Array<String>){
    var tasks_list = ArrayList<tasks>(tasks("hello","3am"),tasks("meet amy","5pm"))
}
fun main(args:Array){
var tasks\u list=ArrayList(任务(“你好”、“凌晨3点”)、任务(“会见艾米”、“下午5点”))
}
但它仍然给了我一个错误:


你能解释一下为什么它不起作用吗?以及如何打印
任务
。谢谢。

您似乎没有正确初始化
ArrayList

您可能会这样做:

fun main(args: Array<String>) {
    var tasks_list = arrayListOf<tasks>(tasks("hello","3am"), tasks("meet amy","5pm"))
    println(tasks_list)
}
tasks
类中,应该重写
toString()
,以便它打印有用的内容,如下所示:

class tasks(var title:String, var time:String) {

    override fun toString() : String = "{Title: $title. Time: $time}"

}
现在,您的输出将如下所示:

Tasks list:
[{Title: hello. Time: 3am}, {Title: meet amy. Time: 5pm}]
    for(task in tasks_list) {
        println(task.title)
        println(task.time)
    }
编辑:

关于您的注释,如果您希望单独打印该类的属性,只需使用该类的getter即可。它们是自动生成的,在这种情况下具有
public
访问权限

因此,您可以迭代列表中的所有
任务
,如下所示:

Tasks list:
[{Title: hello. Time: 3am}, {Title: meet amy. Time: 5pm}]
    for(task in tasks_list) {
        println(task.title)
        println(task.time)
    }
将打印出:

hello
3am
meet amy
5pm
Task #: 0
hello
3am
Task #: 1
meet amy
5pm
或:

(注意
-1
,因为范围操作符是包含在内的),它将打印出:

hello
3am
meet amy
5pm
Task #: 0
hello
3am
Task #: 1
meet amy
5pm

我强烈建议在继续之前阅读一些基本文档(如),因为这些都是非常基本的东西,在尝试做任何其他事情之前,您最好先了解它们。

错误是什么?这不是错误,这是一条红色的曲线。非常感谢,它解决了我的问题。但是我能打印出标题和分开的时间吗?更新了答案。还请咨询官方Kotlin以及官方语言页面上的一些。非常感谢您提供的资源和解决此问题的方法!谢谢!