Kotlin 数据类

  • 数据类

    在本章中,我们将学习有关Kotlin编程语言的数据类的更多信息。只要一个类被标记为“data”,就可以将其标记为数据类。这种类型的类可用于将基本数据分开。除此之外,它不提供任何其他功能。所有数据类都需要具有一个主构造函数,并且所有主构造函数应至少具有一个参数。每当将一个类标记为数据时,我们都可以使用该数据类的一些内置函数,例如“toString()”,“hashCode()”等。任何数据类都不能具有诸如abstractopeninternal的修饰符。数据类也可以扩展到其他类。在下面的示例中,我们将创建一个数据类。
  • 函数数据类

    在函数数据类中,Kotlin允许在主类之外定义方法。在下面的示例中,我们将看到如何在函数级别上实现数据类。
    
    fun main(args: Array<String>) {
       val book: Book = Book("Kotlin", "jc2182.com", 5)
       println("Name of the Book is--"+book.name) // "Kotlin"
       println("Puclisher Name--"+book.publisher) // "jc2182.com"
       println("Review of the book is--"+book.reviewScore) // 5
       book.reviewScore = 7
      
       /*使用数据类的内置函数*/ 
       println("Printing all the info all together--"+book.toString()) 
       println("Example of the hashCode function--"+book.hashCode())
    }
    
    data class Book(val name: String, val publisher: String, var reviewScore: Int)
    

    尝试一下

    上面的代码将在浏览器中产生以下输出,在浏览器中我们创建了一个数据类来保存一些数据,并从main函数访问了其所有数据成员。
    
    Name of the Book is--Kotlin
    Puclisher Name--jc2182.com
    Review of the book is--5
    Printing all the info all together--Book(name=Kotlin, publisher=jc2182.com, reviewScore=7)
    Example of the hashCode function--198669763