通過對比語法差異,讓會JAVA的你快速學會Kotlin的開源寶藏項目

今天有個小夥伴來問TJ君,說自己JAVA用的賊溜,想再學習下Kotlin,問TJ君上手難不難?

怎麼說呢?其實TJ君一直覺得語言這方面,是觸類旁通、一通百通的,既然JAVA已經賊溜了,想必學其他的語言也一定事半功倍。

不過呢,如果有好的輔助,肯定就更加容易學會拉,今天TJ君就和大家分享一個對比展示Java和Kotlin兩種語言在語法上不同地方的項目from-java-to-kotlin,可以快速幫助會JAVA的小夥伴掌握Kotlin的編寫技巧!

項目沒有去講大道理,而是用最實際的程式碼來展示不同之處,TJ君帶你一起來看看:

列印日誌

//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"

null值的申明

//Java
String otherName;
otherName = null;
//Kotlin
var otherName : String?
otherName = null

for循環

//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 0 step 2) { }

for (item in collection) { }

for ((key, value) in map) { }

方法定義

//Java
void doSomething() {
   // logic here
}

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

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

是不是這樣看這樣學就更加直觀明白?還有更多的不同之處等著小夥伴自己來看,覺得好的話,記得幫TJ君點個贊哦!項目地址如下://github.com/MindorksOpenSource/from-java-to-kotlin

TJ君將之前發過的各種項目及工具進行了整理,收錄到了GitHub項目,歡迎各位小夥伴光臨Star,地址如下://github.com/Wechat-TJ/TJ-WORLD-FORU