Ich habe 2 Java -Modellklassen: < /p>
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class Group {
public String name;
public Group(String name) {
this.name = name;
}
}
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
public class User {
public String name;
public List groups;
public User(String name, List groups) {
this.name = name;
this.groups = groups;
}
}
< /code>
und Kotlin -Klasse, die sie verwendet: < /p>
import org.slf4j.LoggerFactory
fun main() {
val users = listOf(
User("Tom", listOf(Group("abc"), Group("dsd"), Group("hm"))),
User("Ben", listOf(Group("Abc"), Group("dsd"), Group("hm"))),
User("Lara", listOf(Group("abc"), Group("osd"), Group("hm"))),
User("Bob", listOf(Group("Gbc"), Group("fsd"), Group("hm"))),
User("John", listOf(Group(""), Group("fsd"), Group("hm"))),
User("Mat", listOf(Group("jhn"), Group("fsd"), null))
)
val logger = LoggerFactory.getLogger("UserGroupDemoKotlin")
logger.info("RESULT Users: {}", getUserWithSmallLetterGroups(users))
}
private fun getUserWithSmallLetterGroups(users: List): List {
return users.filter { user ->
user.groups?.all { group ->
group?.name?.isNotEmpty() == true && group.name?.first()?.isLowerCase() == true
} == true
}.map { it.name }
}
< /code>
Und hier ist meine Build.gradle -Datei: < /p>
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.8.0'
}
group = 'org.example'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.slf4j:slf4j-api:2.0.16'
implementation 'ch.qos.logback:logback-classic:1.5.16'
implementation 'org.projectlombok:lombok:1.18.30'
testImplementation platform('org.junit:junit-bom:5.9.1')
testImplementation 'org.junit.jupiter:junit-jupiter'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
test {
useJUnitPlatform()
}
< /code>
Dieser Code funktioniert einwandfrei. Wenn ich jedoch den geschriebenen Konstruktor von @AllargSconstructor aus Lombok ändere, sehe ich die nächste Fehlermeldung, während er erstellt wurde: < /p>
Zu viele Argumente für öffentliche Konstruktorbenutzer . Die reguläre Java -Klasse mit Hauptfunktion kann sie jedoch ordnungsgemäß aufnehmen und funktioniert ohne das Problem mit demselben Build.gradle -Datei.>
Lombok -Problem bei der Anrufe von Java von Kotlin [Duplikat] ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post