Kotlin 주석 클래스 예시 튜토리얼 공유
이 글에서는 주로 Kotlin의 Annotation 클래스 세부 사항 및 예제에 대한 관련 정보를 소개합니다. 필요한 친구는
Kotlin의 Annotation 클래스 세부 사항 및 예제
Annotation 문
Annotation은 코드 메서드에 메타데이터를 추가하는 것입니다. 주석을 선언하려면 클래스 앞에 주석 수정자를 배치합니다.
annotation class Fancy
주석의 추가 속성은 주석 클래스에 메타 주석을 추가하여 지정할 수 있습니다.
@Target은 다음과 같은 요소를 지정합니다. 이 주석으로 주석을 달 수 있습니다. 가능한 유형(클래스, 함수, 속성, expression 등)
@Retention은 주석이 컴파일된 클래스 파일에 저장되는지 여부와 리플렉션을 통해 표시될 수 있는지 여부를 지정합니다. 런타임(기본값은 둘 다 true)
@Repeatable을 사용하면 단일 요소에서 동일한 주석을 여러 번 사용할 수 있습니다.
@MustBeDocumented는 주석이 공개 API의 일부임을 지정합니다. 에 표시된 클래스 또는 메서드의 서명에 생성된 API 문서에 포함되어야 합니다.
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE )
@MustBeDocumented
주석 수업 Fancy
Usage
@Fancy class Foo { @Fancy fun baz(@Fancy foo: Int): Int { return (@Fancy 1) } }
클래스의 기본 constructor에 주석을 달아야 하는 경우 생성자 선언에 생성자 키워드를 추가하고 그 앞에 주석을 추가해야 합니다.
class Foo @Inject constructor(dependency: MyDependency) { // …… }
속성 접근자에 주석을 달 수도 있습니다:
class Foo { var x: MyDependency? = null @Inject set }
Constructor
주석에는 매개변수를 허용하는 생성자가 있을 수 있습니다.
annotation class Special(val why: String) @Special("example") class Foo {}
열거형;
- 위에 나열된 유형의 배열.
JVM은 주석 속성 값으로 null 저장을 지원하지 않으므로 주석 매개변수는 null 허용 유형을 가질 수 없습니다. 주석이 다른 주석의 매개변수로 사용되는 경우 이름 앞에 @ 문자가 붙지 않습니다.
- 클래스를 주석의 매개변수로 지정해야 하는 경우 Kotlin 클래스(KClass)를 사용하세요. ). Kotlin 컴파일러는 Java 코드가 주석과 매개변수를 정상적으로 볼 수 있도록 자동으로 이를 Java 클래스로 변환합니다.
annotation class ReplaceWith(val expression: String) annotation class Deprecated( val message: String, val replaceWith: ReplaceWith = ReplaceWith("")) @Deprecated("This function is deprecated, use === instead", ReplaceWith("this === other"))
로그인 후 복사 - 람다 표현식
import kotlin.reflect.KClass annotation class Ann(val arg1: KClass<*>, val arg2: KClass<out Any?>) @Ann(String::class, Int::class) class MyClass
로그인 후 복사 주석은 람다 표현식에도 사용할 수 있습니다. 이는 람다 식 본문을 생성하는 호출() 메서드에 적용됩니다. 이는 동시성 제어를 위해 주석을 사용하는 Quasar와 같은 프레임워크에 유용합니다.
annotation class Suspendable val f = @Suspendable { Fiber.sleep(10) }
로그인 후 복사
주석 사용 대상
속성 또는 기본 생성자
함수 매개변수에 주석을 추가할 때 해당 Kotlin 요소에서 생성된 여러 Java 요소가 있으므로 생성된 Java 바이트코드에는 이에 대한 가능한 위치가 여러 개 있습니다. 에 주석을 추가합니다. 주석 생성 방법을 정확하게 지정하려면 다음 구문을 사용하십시오.
class Example(@field:Ann val foo, // 标注 Java 字段 @get:Ann val bar, // 标注 Java getter @param:Ann val quux) // 标注 Java 构造函数参数
@file:JvmName("Foo") package org.jetbrains.demo
class Example { @set:[Inject VisibleForTesting] var collaborator: Collaborator }
지원되는 사용 대상의 전체 목록은 다음과 같습니다.
file
property (이 대상이 있는 주석은 Java에 표시되지 않습니다.)
field
set(속성 설정자)
- param(생성자 매개변수)
- setparam(속성 설정자 매개변수)
- delegate(대리자 속성에 대한 위임 인스턴스를 저장하는 필드)
확장 함수 또는 매개변수의 수신을 표시합니다. , 다음 구문을 사용하십시오.
- 대상을 지정하지 않으면 사용 중인 주석의 @Target 주석을 기반으로 대상이 선택됩니다. 적용 가능한 대상이 여러 개인 경우 다음 목록에서 첫 번째 적용 가능한 대상이 사용됩니다.
fun @receiver:Fancy String.myExtension() { }
로그인 후 복사 param
property
field
Java 注解
Java 注解与 Kotlin 100% 兼容:
import org.junit.Test import org.junit.Assert.* import org.junit.Rule import org.junit.rules.* class Tests { // 将 @Rule 注解应用于属性 getter @get:Rule val tempFolder = TemporaryFolder() @Test fun simple() { val f = tempFolder.newFile() assertEquals(42, getTheAnswer()) } }
因为 Java 编写的注解没有定义参数顺序,所以不能使用常规函数调用 语法来传递参数。相反,你需要使用命名参数语法。
// Java public @interface Ann { int intValue(); String stringValue(); } // Kotlin @Ann(intValue = 1, stringValue = "abc") class C
就像在 Java 中一样,一个特殊的情况是 value 参数;它的值无需显式名称指定。
// Java public @interface AnnWithValue { String value(); } // Kotlin @AnnWithValue("abc") class C
如果 Java 中的 value 参数具有数组类型,它会成为 Kotlin 中的一个 vararg 参数:
// Java public @interface AnnWithArrayValue { String[] value(); } // Kotlin @AnnWithArrayValue("abc", "foo", "bar") class C
对于具有数组类型的其他参数,你需要显式使用 arrayOf:
// Java public @interface AnnWithArrayMethod { String[] names(); } // Kotlin @AnnWithArrayMethod(names = arrayOf("abc", "foo", "bar")) class C
注解实例的值会作为属性暴露给 Kotlin 代码。
// Java public @interface Ann { int value(); } // Kotlin fun foo(ann: Ann) { val i = ann.value }
위 내용은 Kotlin 주석 클래스 예시 튜토리얼 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Dewu APP는 현재 매우 인기 있는 브랜드 쇼핑 소프트웨어이지만 대부분의 사용자는 Dewu APP의 기능을 사용하는 방법을 모릅니다. 다음으로 편집기는 Dewuduo를 사용자에게 제공합니다. 관심 있는 사용자는 와서 살펴볼 수 있습니다! Dewu 이용방법 튜토리얼 [2024-03-20] Dewu 할부구매 이용방법 [2024-03-20] Dewu 쿠폰 받는 방법 [2024-03-20] Dewu 매뉴얼 고객센터 찾는 방법 [2024-03- 20] 듀우 픽업 코드 확인 방법 [2024-03-20] 듀우 구매처 찾기 [2024-03-20] 듀우 VIP 개설 방법 [2024-03-20] 듀우 반품, 교환 신청 방법

1. 먼저 NetEase Cloud Music에 들어간 다음 소프트웨어 홈페이지 인터페이스를 클릭하여 노래 재생 인터페이스로 들어갑니다. 2. 그런 다음 노래 재생 인터페이스에서 아래 그림의 빨간색 상자에 표시된 것처럼 오른쪽 상단에서 공유 기능 버튼을 찾아 공유 채널에서 공유 채널을 선택하고 다음 위치에서 "공유 대상" 옵션을 클릭합니다. 하단에서 첫 번째 "WeChat Moments"를 선택하면 WeChat Moments에 콘텐츠를 공유할 수 있습니다.

여름에 비가 내린 후에는 아름답고 마법 같은 특별한 날씨 장면인 무지개를 자주 볼 수 있습니다. 이 역시 사진에서 볼 수 있는 보기 드문 장면으로, 매우 포토제닉하다. 무지개가 나타나는 데에는 몇 가지 조건이 있습니다. 첫째, 공기 중에 충분한 물방울이 있고, 둘째, 태양이 낮은 각도로 빛납니다. 따라서 비가 그친 후 오후에 무지개를 보는 것이 가장 쉽습니다. 그러나 무지개의 형성은 날씨, 빛, 기타 조건의 영향을 크게 받기 때문에 일반적으로 짧은 시간 동안만 지속되며, 가장 잘 볼 수 있고 촬영할 수 있는 시간은 더욱 짧습니다. 그러면 무지개를 만났을 때 어떻게 제대로 기록하고 고품질로 사진을 찍을 수 있습니까? 1. 무지개를 찾아보세요. 위에서 언급한 조건 외에도 무지개는 대개 햇빛 방향으로 나타납니다. 즉, 태양이 서쪽에서 동쪽으로 빛날 경우 무지개가 동쪽에서 나타날 확률이 높습니다.

최근 Baidu Netdisk Android 클라이언트는 새로운 버전 8.0.0을 선보였습니다. 이 버전은 많은 변화를 가져올 뿐만 아니라 많은 실용적인 기능도 추가했습니다. 그 중 가장 눈길을 끄는 것은 폴더 공유 기능 강화다. 이제 사용자는 쉽게 친구를 초대하여 업무와 생활에서 중요한 파일을 공유하고 더욱 편리하게 협업하고 공유할 수 있습니다. 그렇다면 친구들과 공유해야 하는 파일을 어떻게 공유합니까? 아래에서 이 사이트의 편집자가 자세한 소개를 해줄 것입니다. 1) Baidu Cloud 앱을 열고 먼저 홈페이지에서 관련 폴더를 클릭한 다음 인터페이스 오른쪽 상단에 있는 [...] 아이콘을 클릭합니다(아래 참조). 2) 그런 다음에서 [+]를 클릭합니다. "공유 멤버" 열 ]을 선택하고 마지막으로 모두 확인합니다.

1. 먼저 위챗을 엽니다. 2. 오른쪽 상단의 [+]를 클릭하세요. 3. QR코드를 클릭하시면 결제가 진행됩니다. 4. 오른쪽 상단에 있는 세 개의 작은 점을 클릭하세요. 5. 결제도착 음성알림을 클릭하시면 종료됩니다.

JUnit 프레임워크의 주석은 테스트 메서드를 선언하고 구성하는 데 사용됩니다. 주요 주석에는 @Test(테스트 메서드 선언), @Before(테스트 메서드가 실행되기 전에 실행되는 메서드), @After(테스트 메서드 후에 실행되는 메서드)가 포함됩니다. 실행됨), @BeforeClass(모든 테스트 메소드가 실행되기 전에 실행되는 메소드), @AfterClass(모든 테스트 메소드가 실행된 후에 실행되는 메소드) 이러한 주석은 테스트 코드를 구성하고 단순화하며 테스트 코드의 신뢰성을 향상시키는 데 도움이 됩니다. 명확한 의도와 구성을 제공하여 가독성과 유지 관리성을 제공합니다.

스마트폰의 지속적인 발전과 함께 휴대폰의 기능은 점점 더 강력해졌고, 그 중 장사진 촬영 기능은 많은 사용자들이 일상생활에서 사용하는 중요한 기능 중 하나로 자리 잡았다. 긴 스크린샷은 사용자가 쉽게 보고 공유할 수 있도록 긴 웹페이지, 대화 기록, 사진을 한 번에 저장하는 데 도움이 됩니다. 많은 휴대폰 브랜드 중에서 Huawei 휴대폰은 사용자들로부터 높은 평가를 받는 브랜드 중 하나이며, 긴 사진을 자르는 기능도 높은 평가를 받고 있습니다. 이 기사에서는 Huawei 휴대폰으로 장사진을 찍는 올바른 방법과 Huawei 휴대폰을 더 잘 활용하는 데 도움이 되는 몇 가지 전문가 팁을 소개합니다.

Jackson 라이브러리의 주석은 JSON 직렬화 및 역직렬화를 제어합니다. 직렬화: @JsonIgnore: 속성 무시 @JsonProperty: 이름 지정 @JsonGetter: get 메서드 사용 @JsonSetter: set 메서드 사용 역직렬화: @JsonIgnoreProperties: @JsonProperty 속성 무시: 이름 지정 @JsonCreator: 생성자 사용 @JsonDeserialize: 사용자 정의 논리
