- Совместимость и вызов кода Java из Kotlin
- Вызов метода Java void из файла Kotlin
- Вызов метода Java int из файла Kotlin
- Код Kotlin, вызывающий класс Java, присутствует внутри пакета
- Код Kotlin, получающий доступ к Java-геттеру и сеттеру
- Код Kotlin обращается к массиву Java
- Доступ к коду Kotlin Java Varargs
- Типы Kotlin и Java Mapped
- Kotlin unit in java
- Learn Latest Tutorials
- Preparation
- Trending Technologies
- B.Tech / MCA
- Javatpoint Services
- Training For College Campus
Совместимость и вызов кода Java из Kotlin
Существующий код Java можно легко вызвать из кода Kotlin, а код Kotlin также вызывается из кода Java обычным способом.
Вызов метода Java void из файла Kotlin
При вызове java-кода из Kotlin, возвращаемые типы которого недействительны, он вернет Unit в файле Kotlin. Если кто-то захочет вернуть это значение, компилятор Kotlin присвоит его файлу Kotlin и вернет Unit.
public class MyJavaClass < public static void main(String[] args)< >public static void add(inta,int b) < int result = a + b; System.out.println("printing inside Java class :"+result); >>
printing inside Java class :15 printing sum inside Kotlin file: kotlin.Unit
Вызов метода Java int из файла Kotlin
При вызове java-кода типа int или другого(а не void) из файла Kotlin он возвращает результат в тех же типах. Например, вызов метода area() класса Java из файла Kotlin возвращает результат типа int.
public class MyJavaClass < public static void main(String[] args)< >public static int area(int l, int b) < int result = l * b; return result; >>
printing area from java insideKotlinfile: 12
Код Kotlin, вызывающий класс Java, присутствует внутри пакета
Если мы хотим вызывать коды Java из файла Kotlin, оба присутствующие в другом пакете, для этого необходимо импортировать имя пакета с классом Java внутри файла Kotlin.
Например, класс Java MyJavaClass.java присутствует внутри пакета myjavapackage, а файл Kotlin MyKotlinFile.kt присутствует внутри пакета mykotlinpackage. В таком случае для вызова кода Java из файла Kotlin необходимо импортировать myjavapackage.MyJavaClass внутри файла Kotlin.
package mykotlinpackage import myjavapackage.MyJavaClass fun main(args: Array)
package myjavapackage; public class MyJavaClass < public static void main(String[] args)< >public static int area(int l, int b) < int result = l * b; return result; >>
printing area from java inside Kotlin file: 12
Код Kotlin, получающий доступ к Java-геттеру и сеттеру
Поскольку Kotlin полностью совместим с Java, мы можем получить доступ к функциям получения и установки класса Java (или класса POJO). Например, создадим метод получения и установки в классе Java MyJava.java со свойствами firstName и lastName. Доступ к этим свойствам осуществляется из файла Kotlin MyKotlin.kt путем создания объекта MyJava.java в файле Kotlin.
public class MyJava < protected String firstName; protected String lastName; public String getfirstName() < return firstName; >public void setfirstName(String firstName) < this.firstName = firstName; >public String getlastName() < return lastName; >public void setlastName(String lastName) < this.lastName = lastName; >>
accessing value using property: Arjun accessing value using property: Kumar accessing value using method: Arjun accessing value using method: Kumar
Код Kotlin обращается к массиву Java
Мы можем просто вызвать метод класса Java, который принимает массив в качестве аргумента из файла Котлин. Например, создайте метод sumValue(), который принимает элемент массива в качестве параметра в классе Java MyJava.java, вычисляя сложение и возвращая результат. Этот метод вызывается из файла Kotlin MyKotlin.kt путем передачи массива в качестве параметра.
public class MyJava < public intsumValues(int[] nums) < int result = 0; for(int x:nums) < result+=x; >return result; > >
sum of array element is 15
Доступ к коду Kotlin Java Varargs
В функциональности Java varags мы можем передать любое количество аргументов методу. Параметр Java varargs определяется с помощью многоточия, т.е. трех точек(…) после типа данных.
Следующие пункты должны быть сохранены при использовании параметра varargs:
- В методе есть только один параметр varargs.
- Varargsagrument должен быть последним аргументом.
При доступе к varargs Java из Kotlin нам нужно использовать оператор распространения * для передачи массива.
Давайте посмотрим на пример, в котором метод Java использует varargs типа int, который вызывается из файла Kotlin.
Давайте посмотрим на другой пример, который принимает два параметра в методе Java, который использует в качестве параметров тип String и переменные типа int, вызываемые из файла Kotlin.
Типы Kotlin и Java Mapped
Типы Kotlin и Java сопоставляются по-разному, однако они сопоставляются с соответствующими типами. Сопоставление этих типов имеет значение только во время компиляции, а время выполнения остается неизменным.
Примитивные типы Java для соответствующих типов Kotlin
Тип Java | Тип Kotlin |
---|---|
byte | kotlin.Byte |
short | kotlin.Short |
int | kotlin.Int |
long | kotlin.Long |
char | kotlin.Char |
double | kotlin.Double |
boolean | kotlin.Boolean |
Непримитивные типы Java для соответствующих типов Kotlin
Тип Java | Тип Kotlin |
---|---|
java.lang.Object | kotlin.Any! |
java.lang.Cloneable | kotlin.Cloneable! |
java.lang.Comparable | kotlin.Cloneable! |
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 для соответствующих типов nullableKotlin
Тип Java | Тип Kotlin |
---|---|
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? |
Типы коллекций Java в соответствующие доступные только для чтения или изменяемые типы Kotlin
Kotlin unit in java
Learn Latest Tutorials
Preparation
Trending Technologies
B.Tech / MCA
Javatpoint Services
JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.
- Website Designing
- Website Development
- Java Development
- PHP Development
- WordPress
- Graphic Designing
- Logo
- Digital Marketing
- On Page and Off Page SEO
- PPC
- Content Development
- Corporate Training
- Classroom and Online Training
- Data Entry
Training For College Campus
JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week
Like/Subscribe us for latest updates or newsletter