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以及官方语言页面上的一些。非常感谢您提供的资源和解决此问题的方法!谢谢!