kotlin data class 가 만난 구덩이
Kotlin 에 서 는 자바 빈 을 직접 쓰 지 않 아 도 됩 니 다.DataClass 를 직접 사용 할 수 있 습 니 다.DataClass 컴 파일 러 를 사용 하면 다음 과 같은 함 수 를 묵묵히 생 성 할 수 있 습 니 다.
equals()
hashCode()
toString()
componentN()
copy()
data class 의 구덩이:
data class 가 컴 파일 러 에 의 해 자바 빈 을 생 성 할 때 final 류 이 고 인삼 이 없 는 구조 함수 이기 때문에 사용 과정 이 매우 불편 하지만 우 리 는 공식 적 으로 제 시 된 플러그 인 을 이용 하여 이러한 문 제 를 해결 할 수 있다(
noarg
,allopen
.1.의존 도 추가
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
}
}
2.프로젝트 에 의존
apply plugin: 'kotlin-noarg'
apply plugin: 'kotlin-allopen'
3、annotation 만 들 기
package mm.learn.kotlin._001_class.annotations;
annotation class NoArgOpenDataClass
4.설정 추가
noArg{
annotation("mm.learn.kotlin._001_class.annotations.NoArgOpenDataClass")
}
allOpen{
annotation("mm.learn.kotlin._001_class.annotations.NoArgOpenDataClass")
}
5.주 해 를 data class 에 사용
@NoArgOpenDataClass
data class Student(var id: Int, var name: String, var continent: String)
6.위의 5 단 계 를 거치 면 컴 파 일 러 가 지 워 줍 니 다.
final
키 워드 를 만 들 고 인삼 이 없 는 구조 방법 을 만 들 지만 컴 파일 러 에서 하 는 작업 이기 때문에 소스 코드 에서 인삼 이 없 는 구조 함 수 를 직접 사용 할 수 없고 반사 로 만 사용 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.