kotlin之對比學(xué)習(xí)

常量與變量

java
String name = "Pan Zhou";
final String name = "Pan Zhou";
kotlin
var name = "Pan Zhou"
val name = "Pan Zhou"

null聲明

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
}
// 或者
val length = text?.length

字符串拼接

java
String a ="a";
String b = "b";
String message = a+b;
kotlin
var a = "a";
var b = "b";
var message = $a $b

三元運算符

java
String num = x > 5 ? "x > 5" : "x <= 5";
kotlin
var num = if(x>5)
            "x>5"
       else "x<5"

操作符

java
final int andResult  = a & b;
final int orResult   = a | b;
kotlin
val andResult  = a and b
val orResult   = a or b

多重條件

java
if (score >= 0 && score <= 300) { }
kotlin
if (score in 0..300) { }

Case語句

java
int score = // some score;
String grade;
switch (score) {
    case 10:
    case 9:
        grade = "Excellent";
        break;
    case 8:
    case 7:
    case 6:
        grade = "Good";
        break;
    case 5:
    case 4:
        grade = "OK";
        break;
    case 3:
    case 2:
    case 1:
        grade = "Fail";
        break;
    default:
        grade = "Fail";
}
kotlin
var score = // some score
var grade = when (score) {
    9, 10 -> "Excellent"
    in 6..8 -> "Good"
    4, 5 -> "OK"
    in 1..3 -> "Fail"
    else -> "Fail"
}

for循環(huán)

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) { }
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) { }

遍歷

java
for (Car car : cars) {
  if (car.speed > 100) {
    System.out.println(car.speed);
  }
}
kotlin
cars.filter { it.speed > 100 }
      .forEach { println(it.speed)}

方法定義

java
void doSomething() {
   // logic here
}

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

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

帶返回值的方法

java
int getScore() {
   // logic here
   return score;
}
kotlin
fun getScore(): Int {
   // logic here
   return score
}

//動態(tài)添加數(shù)組
 val emptyArr = arrayOfNulls<String>(categoryList.size)
                for (i in categoryList.indices){
                    emptyArr[i] = categoryList[i].name
                }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容