Perbedaan Script Java dengan Kotlin (Java Vs Kotlin): Sangat Simple

Perbedaan script java dengan kotlin menjadi isu hangat sebagai Android Developer. Sebelum migrasi akan lebih baik menyimak terlebih dahulu perbedaan script java dengan kotlin setelah itu tentukan sendiri keputusannya apakah tetap menggunakan java atau segera beralih ke kotlin atau menggabungkan keduanya dalam satu project. Tidak ada yang tidak mungkin.

Langsung saja berikut beberapa perbedaan script java denga kotlin (Java vs Kotlin) mulai dari pendefinisian variabel, pembuatan class, pembuatan model sampai inheritance.

Perbedaan Script Java dengan Kotlin

Simak terlebih dahulu baru tentukan pendapat. semoga bisa membantu.

Java

System.out.print("Amit Shekhar");
System.out.println("Amit Shekhar");

Kotlin

print("Amit Shekhar")
println("Amit Shekhar")

Java

String name = "Amit Shekhar";
final String name = "Amit Shekhar";

Kotlin

var name = "Amit Shekhar"
val name = "Amit Shekhar"

Java

String otherName;
otherName = null;

Kotlin

var otherName : String?
otherName = null

Java

if (text != null) {
 int length = text.length();
}

Kotlin

text?.let {
 val length = text.length
}
// or simply
val length = text?.length

Java

String firstName = "Amit";
String lastName = "Shekhar";
String message = "My name is: " + firstName + " " + lastName;

Kotlin

val firstName = "Amit"
val lastName = "Shekhar"
val message = "My name is: $firstName $lastName"

Java

String text = "First Line\n" +
 "Second Line\n" +
 "Third Line";

Kotlin

val text = """
 |First Line
 |Second Line
 |Third Line
 """.trimMargin()

Java

for (int i = 1; i <= 10 ; i++) { }
 
for (int i = 1; i < 10 ; i++) { } for (int i = 10; i >= 0 ; i--) { }
 
for (int i = 1; i <= 10 ; i+=2) { } for (int i = 10; i >= 0 ; i-=2) { }
 
for (String item : collection) { }
 
for (Map.Entry<String, String> entry: map.entrySet()) { }

Kotlin

for (i in 1..10) { }
 
for (i in 1 until 10) { }
 
for (i in 10 downTo 0) { }
 
for (i in 1..10 step 2) { }
 
for (i in 10 downTo 1 step 2) { }
 
for (item in collection) { }
 
for ((key, value) in map) { }

Java

final List listOfNumber = Arrays.asList(1, 2, 3, 4);
 
final Map<Integer, String> keyValue = new HashMap<Integer, String>();
 map.put(1, "Amit");
 map.put(2, "Ali");
 map.put(3, "Mindorks");
 
// Java 9
 final List listOfNumber = List.of(1, 2, 3, 4);
 
final Map<Integer, String> keyValue = Map.of(1, "Amit",
 2, "Ali",
 3, "Mindorks");

Kotlin

val listOfNumber = listOf(1, 2, 3, 4)
 val keyValue = mapOf(1 to "Amit",
 2 to "Ali",
 3 to "Mindorks")

Java

// Java 7 and below
 for (Car car : cars) {
 System.out.println(car.speed);
 }
 
// Java 8+
 cars.forEach(car -> System.out.println(car.speed));
 
// Java 7 and below
 for (Car car : cars) {
 if (car.speed > 100) {
 System.out.println(car.speed);
 }
 }
 
// Java 8+
 cars.stream().filter(car -> car.speed > 100).forEach(car -> System.out.println(car.speed));

Kotlin

cars.forEach {
 println(it.speed)
 }
 
cars.filter { it.speed > 100 }
 .forEach { println(it.speed)}
 
// kotlin 1.1+
 cars.stream().filter { it.speed > 100 }.forEach { println(it.speed)}
 cars.parallelStream().filter { it.speed > 100 }.forEach { println(it.speed)}

java

String[] splits = "param=car".split("=");
 String param = splits[0];
 String value = splits[1];

kotlin

val (param, value) = "param=car".split("=")

Java

void doSomething() {
 // logic here
 }

Kotlin

fun doSomething() {
 // logic here
 }

Java

void doSomething(int... numbers) {
 // logic here
 }

Kotlin

fun doSomething(vararg numbers: Int) {
 // logic here
 }

Java

int getScore() {
 // logic here
 return score;
 }

Kotlin

fun getScore(): Int {
 // logic here
 return score
 }
 
// as a single-expression function
 
fun getScore(): Int = score
 
// even simpler (type will be determined automatically)
 
fun getScore() = score // return-type is Int

Java

int getScore(int value) {
 // logic here
 return 2 * value;
 }

Kotlin

fun getScore(value: Int): Int {
 // logic here
 return 2 * value
 }
 
// as a single-expression function
 fun getScore(value: Int): Int = 2 * value
 
// even simpler (type will be determined automatically)
 
fun getScore(value: Int) = 2 * value // return-type is int

Java

public class Utils {
 
private Utils() {
 // This utility class is not publicly instantiable
 }
 
public static int getScore(int value) {
 return 2 * value;
 }
 
}

Kotlin

class Utils private constructor() {
 
companion object {
 
fun getScore(value: Int): Int {
 return 2 * value
 }
 
}
 }
 
// another way
 
object Utils {
 
fun getScore(value: Int): Int {
 return 2 * value
 }
 
}

Java

public class Developer {
 
private String name;
 private int age;
 
public Developer(String name, int age) {
 this.name = name;
 this.age = age;
 }
 
public String getName() {
 return name;
 }
 
public void setName(String name) {
 this.name = name;
 }
 
public int getAge() {
 return age;
 }
 
public void setAge(int age) {
 this.age = age;
 }
 
@Override
 public boolean equals(Object o) {
 if (this == o) return true;
 if (o == null || getClass() != o.getClass()) return false;
 
Developer developer = (Developer) o;
 
if (age != developer.age) return false;
 return name != null ? name.equals(developer.name) : developer.name == null;
 
}
 
@Override
 public int hashCode() {
 int result = name != null ? name.hashCode() : 0;
 result = 31 * result + age;
 return result;
 }
 
@Override
 public String toString() {
 return "Developer{" +
 "name='" + name + '\'' +
 ", age=" + age +
 '}';
 }
 }

Kotlin

data class Developer(var name: String, var age: Int)

Java

public class Developer implements Cloneable {
 
private String name;
 private int age;
 
public Developer(String name, int age) {
 this.name = name;
 this.age = age;
 }
 
@Override
 protected Object clone() throws CloneNotSupportedException {
 return (Developer)super.clone();
 }
 }
 
// cloning or copying
 Developer dev = new Developer("Mindorks", 30);
 try {
 Developer dev2 = (Developer) dev.clone();
 } catch (CloneNotSupportedException e) {
 // handle exception
 }

Kotlin

data class Developer(var name: String, var age: Int)
 
// cloning or copying
 val dev = Developer("Mindorks", 30)
 val dev2 = dev.copy()
 // in case you only want to copy selected properties
 val dev2 = dev.copy(age = 25)

Java

public class Utils {
 
private Utils() {
 // This utility class is not publicly instantiable
 }
 
public static int triple(int value) {
 return 3 * value;
 }
 
}
 
int result = Utils.triple(3);

Kotlin

fun Int.triple(): Int {
 return this * 3
 }
 
var result = 3.triple()

 

Refrensi

From Java to kotlin

Lern Kotlin

 

Sharethis

 

Related Post

Tutorial Kotlin untuk Pemula Kotlin adalah bahasa pemrograman yang dikembangkan oleh JetBrains untuk Aplikasi multiplatform Modern. Bahasa pemrograman Kotlin sangat aman, ringkas ...
Synthetic Binding pada Kotlin, Goodbye findViewByI... Synthetic Binding pada kotlin menghindari penggunaan findViewById()secara berulang-ulang. Istilah findViewById() bagi android Developer tidak lah asin...
Deklarasi Variable dan Basic Data Type pada Kotlin Pada tutorial kali ini, kita akan belajar tentang deklarasi variable, bagaimana p[endefinisian variable dan basic data type pada Kotlin. Deklarasi var...
Aplikasi User Manager Mikrotik Berbasis Android Aplikasi user manager mikrotik berbasis android merupakan aplikasi yang digunakan untuk menambah, merubah dan menghapus data user hotspot pada MikroTi...
Jenis-jenis Operator pada Kotlin (Kotlin Operators... Pada tutorial kali ini kita akan membahas tentang Kotlin Operators (bagaimana jenis-jenis operator pada kotlin). Operator pada Kotlin terdiri dari Ope...
Tutorial Kotlin “Hello World” Pada kesempatan kali ini, kita akan belajar bagaimana menampilkan kalimat "Hello World!" pada layar menggunakan bahasa pemrograman Kotlin. Ini sangat ...
Cara Install Plugin Kotlin pada Android Studio Pada tutorial kali ini akan dijelaskan tentang cara install plugin kotlin pada android studio. Kotlin merupakan bahasa pemrograman baru yang dibuat ol...
Konversi Variable pada Kotlin Pada tutorial kali ini akan membahas bagaimana konversi variable pada kotlin dari satu type variable ke type variable lain. Misalnya dari String to In...

Tutorial Terkait :

Satu tanggapan untuk “Perbedaan Script Java dengan Kotlin (Java Vs Kotlin): Sangat Simple

  1. Ping-balik: Perbedaan Script Java dengan Kotlin (Java Vs Kotlin): Sangat Simple – Jagungodak | Free ALL Script PHP, javascript, C++

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

20 − two =