수색…


소개

Kotlin에 오는 대부분의 사람들은 자바 프로그래밍 배경을 가지고 있습니다.

이 주제에서는 Java를 Kotlin과 비교하여 가장 중요한 차이점과 Kotlin이 Java보다 제공하는 보석을 강조한 예제를 수집합니다.

변수 선언하기

Kotlin에서 변수 선언은 Java와 약간 다릅니다.

val i : Int = 42
  • 그들은 하나 시작 val 또는 var 선언하고, final ( "발 단말") 또는 VAR의 iable을.

  • 유형은 이름 다음에 다음과 같이 구분됩니다 :

  • Kotlin의 타입 유추 덕분에 명시 적 타입 선언은 컴파일러가 모호하지 않게 탐지 할 수있는 타입을 갖는 할당이 있다면 obmitted 될 수 있습니다

자바 코 틀린
int i = 42; var i = 42 ( 또는 var i : Int = 42 )
final int i = 42; val i = 42

간단한 정보들

  • 코 틀린은 필요 없다 ; 진술을 끝내기
  • Kotlin은 null-safe입니다.
  • Kotlin은 100 % Java 상호 운용 가능
  • Kotlin에는 프리미티브없습니다 (가능한 경우 JVM의 객체 대응을 최적화 함).
  • Kotlin 클래스에는 필드가 아닌 속성이 있습니다.
  • Kotlin은 자동 생성 equals / hashCode 메소드 및 필드 접근 hashCode 사용하여 데이터 클래스 를 제공합니다.
  • Kotlin에는 런타임 예외 만 있고 예외는 없습니다.
  • Kotlin은 new 키워드없습니다 . 객체 생성은 다른 메소드와 마찬가지로 생성자를 호출하여 수행됩니다.
  • Kotlin은 (제한된) 연산자 오버로딩을 지원합니다. 예를 들어지도 값에 액세스하는 것은 다음과 같이 작성할 수 있습니다. val a = someMap["key"]
  • Kotlin은 JVM 용 바이트 코드로 컴파일 될뿐만 아니라 Java Script 에도 컴파일 될 수 있으므로 Kotlin에서 백엔드 및 프론트 엔드 코드를 모두 작성할 수 있습니다.
  • Kotlin은 Java 6와 완벽하게 호환되며 특히 오래된 Android 기기 (예 : 그렇진 않은)의 지원과 관련하여 특히 흥미 롭습니다.
  • Kotlin은 Android 개발을 위해 공식적으로 지원되는 언어 입니다.
  • Kotlin의 콜렉션에는 변경 가능 콜렉션과 불변 콜렉션 간의 내장 된 분리가 있습니다 .
  • 코 틀린은 코 루틴을 지원합니다 (실험적).

평등과 정체성

Kotlin은 동등성을 위해 == 를 사용하고 (즉, 호출 equals 내부적으로 equals ) 참조 용 ID === 를 사용합니다.

자바 코 틀린
a.equals(b); a == b
a == b; a === b
a != b; a !== b

참조 : https://kotlinlang.org/docs/reference/equality.html

IF, TRY 및 기타는 표현식이 아닌 표현식입니다.

Kotlin에서 if , try 및 others는 expression이 아니기 때문에 값이 반환됩니다.

예를 들어, Kotlin은 Java의 삼원 엘비스 연산자를 가지고 있지 않지만 다음과 같이 작성할 수 있습니다.

val i = if (someBoolean) 33 else 42

더 생소하지만 똑같이 표현력있는 표현식은 try 식입니다 .

val i = try {
    Integer.parseInt(someString)
}
catch (ex : Exception)
{
    42
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow