Kotlinの最も簡単な入門チュートリアル-Javaと互いに呼び出します
4166 ワード
KotlinでJavaコードを呼び出す
JavaでKotlinを呼び出す
スタティツクメソッド
可変パラメータ転送
Java反射
マッピングされたタイプ
Javaタイプ
Kotlinタイプ
byte
kotlin.Byte
short
kotlin.Short
int
kotlin.Int
long
kotlin.Long
char
kotlin.Char
float
kotlin.Float
double
kotlin.Double
boolean
kotlin.Boolean
一部の非ネイティブの組み込みタイプもマッピングされます.
Javaタイプ
Kotlinタイプ
java.lang.Object
kotlin.Any!
java.lang.Cloneable
kotlin.Cloneable!
java.lang.Comparable
kotlin.Comparable!
java.lang.Enum
kotlin.Enum!
java.lang.Annotation
kotlin.Annotation!
java.lang.Deprecated
kotlin.Deprecated!
java.lang.CharSequence
kotlin.CharSequence!
java.lang.String
kotlin.String!
java.lang.Number
kotlin.Number!
java.lang.Throwable
kotlin.Throwable!
Javaの梱包元のタイプは空のKotlinタイプにマッピングされます.
Java type
Kotlin type
java.lang.Byte
kotlin.Byte?
java.lang.Short
kotlin.Short?
java.lang.Integer
kotlin.Int?
java.lang.Long
kotlin.Long?
java.lang.Character
kotlin.Char?
java.lang.Float
kotlin.Float?
java.lang.Double
kotlin.Double?
java.lang.Boolean
kotlin.Boolean?
タイプパラメータとして使用される梱包元のタイプは、プラットフォームタイプにマッピングされます.たとえば、List
最後にKotlin QQグループに参加して、一緒に勉強を討論することを歓迎します.
微信公号へようこそ
import java.util.*
fun demo(source: List) {
val list = ArrayList()
// “for”- Java :
for (item in source) {
list.add(item)
}
// :
for (i in 0..source.size() - 1) {
list[i] = source[i] // get set
}
}
JavaでKotlinを呼び出す
// example.kt
package demo
class Foo
fun bar() {
}
// Java
new demo.Foo();
demo.ExampleKt.bar();
スタティツクメソッド
class C {
companion object {
@JvmStatic fun foo() {}
fun bar() {}
}
}
// ,foo() Java , bar() :
C.foo(); //
C.bar(); // :
C.Companion.foo(); //
C.Companion.bar(); //
可変パラメータ転送
Java (varargs) 。
public class JavaArrayExample {
public void removeIndices(int... indices) {
// ……
}
}
, * IntArray:
val javaObj = JavaArray()
val array = intArrayOf(0, 1, 2, 3)
javaObj.removeIndicesVarArg(*array)
null 。
Java反射
Java Kotlin , 。
, instance::class.java, ClassName::class.java instance.javaClass java.lang.Class Java 。
Kotlin Java getter/setter 、
Java KProperty、 KFunction Java ,
マッピングされたタイプ
Javaタイプ
Kotlinタイプ
byte
kotlin.Byte
short
kotlin.Short
int
kotlin.Int
long
kotlin.Long
char
kotlin.Char
float
kotlin.Float
double
kotlin.Double
boolean
kotlin.Boolean
一部の非ネイティブの組み込みタイプもマッピングされます.
Javaタイプ
Kotlinタイプ
java.lang.Object
kotlin.Any!
java.lang.Cloneable
kotlin.Cloneable!
java.lang.Comparable
kotlin.Comparable!
java.lang.Enum
kotlin.Enum!
java.lang.Annotation
kotlin.Annotation!
java.lang.Deprecated
kotlin.Deprecated!
java.lang.CharSequence
kotlin.CharSequence!
java.lang.String
kotlin.String!
java.lang.Number
kotlin.Number!
java.lang.Throwable
kotlin.Throwable!
Javaの梱包元のタイプは空のKotlinタイプにマッピングされます.
Java type
Kotlin type
java.lang.Byte
kotlin.Byte?
java.lang.Short
kotlin.Short?
java.lang.Integer
kotlin.Int?
java.lang.Long
kotlin.Long?
java.lang.Character
kotlin.Char?
java.lang.Float
kotlin.Float?
java.lang.Double
kotlin.Double?
java.lang.Boolean
kotlin.Boolean?
タイプパラメータとして使用される梱包元のタイプは、プラットフォームタイプにマッピングされます.たとえば、List
最後にKotlin QQグループに参加して、一緒に勉強を討論することを歓迎します.
微信公号へようこそ