Kotlin unit in java

Совместимость и вызов кода 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.

Читайте также:  Display css in chrome

Например, класс 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 должен быть последним аргументом.
Читайте также:  Html таблица базовых цветов

При доступе к 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

Splunk tutorial

SPSS tutorial

Swagger tutorial

T-SQL tutorial

Tumblr tutorial

React tutorial

Regex tutorial

Reinforcement learning tutorial

R Programming tutorial

RxJS tutorial

React Native tutorial

Python Design Patterns

Python Pillow tutorial

Python Turtle tutorial

Keras tutorial

Preparation

Aptitude

Logical Reasoning

Verbal Ability

Company Interview Questions

Artificial Intelligence

AWS Tutorial

Selenium tutorial

Cloud Computing

Hadoop tutorial

ReactJS Tutorial

Data Science Tutorial

Angular 7 Tutorial

Blockchain Tutorial

Git Tutorial

Machine Learning Tutorial

DevOps Tutorial

B.Tech / MCA

DBMS tutorial

Data Structures tutorial

DAA tutorial

Operating System

Computer Network tutorial

Compiler Design tutorial

Computer Organization and Architecture

Discrete Mathematics Tutorial

Ethical Hacking

Computer Graphics Tutorial

Software Engineering

html tutorial

Cyber Security tutorial

Automata Tutorial

C Language tutorial

C++ tutorial

Java tutorial

.Net Framework tutorial

Python tutorial

List of Programs

Control Systems tutorial

Data Mining Tutorial

Data Warehouse Tutorial

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
Читайте также:  Creating venv in directory venv using python

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 RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

Источник

Оцените статью