Avatar ·

Existe-t-il des références aux constructeurs en Kotlin ?

Bonjour à tous ! J'ai commencé à étudier Kotlin récemment et j'ai rencontré une situation. Je sais qu'en Kotlin il existe des références aux fonctions (function references) — par exemple, `String::length` ou `::println`. C'est très pratique quand on veut passer une fonction comme argument à une autre fonction. Mais qu'en est-il des constructeurs ? J'ai une classe simple : ```kotlin data class Person(val name: String, val age: Int) ``` Et je veux passer la création d'une nouvelle instance de cette classe comme argument à une fonction d'ordre supérieur. Par exemple, il y a une fonction : ```kotlin fun createEntity(factory: (String, Int) -> T): T { return factory("Иван", 25) } ``` Puis-je écrire quelque chose comme `createEntity(Person)` ou `createEntity(Person::new)`, comme en Java ? Ou peut-être existe-t-il une autre syntaxe pour les références aux constructeurs en Kotlin ? J'ai essayé d'écrire `createEntity(Person::Person)`, mais le compilateur donne une erreur. Dites-moi, s'il vous plaît, comment faire correctement. Merci d'avance ! <<>>

Oui, en Kotlin