返回
Java 转 Kotlin 自查表,轻松跨语言开发!
闲谈
2023-10-01 01:00:29
**Java 转 Kotlin 自查表**
和 Flutter 一样,Kotlin 现在也很火,很多人愿意去学习尝试写 Kotlin。有时知道 Java 语言该如何写,就是不知道 Kotlin 语言该如何下手。以此文记录一些 Java 转换为 Kotlin 的使用方法。
本文参考 From Java to Kotlin,特此整理,用于自查。
每一行代码都是一种方法,从上到下,难度和深入程度递增,适合所有程度的开发者。
1. **变量声明**
* Java:
```java
int a = 1;
```
* Kotlin:
```kotlin
val a: Int = 1
```
2. **类型推断**
* Java:
```java
int a = 1;
```
* Kotlin:
```kotlin
val a = 1
```
3. **常量声明**
* Java:
```java
final int a = 1;
```
* Kotlin:
```kotlin
val a = 1
```
4. **方法声明**
* Java:
```java
public static void main(String[] args) {
System.out.println("Hello, World!");
}
```
* Kotlin:
```kotlin
fun main(args: Array<String>) {
println("Hello, World!")
}
```
5. **方法参数**
* Java:
```java
public static void printHello(String name) {
System.out.println("Hello, " + name + "!");
}
```
* Kotlin:
```kotlin
fun printHello(name: String) {
println("Hello, $name!")
}
```
6. **方法返回值**
* Java:
```java
public static int sum(int a, int b) {
return a + b;
}
```
* Kotlin:
```kotlin
fun sum(a: Int, b: Int): Int {
return a + b
}
```
7. **条件语句**
* Java:
```java
if (a > 0) {
System.out.println("a is positive");
} else {
System.out.println("a is negative");
}
```
* Kotlin:
```kotlin
if (a > 0) println("a is positive") else println("a is negative")
```
8. **循环语句**
* Java:
```java
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
```
* Kotlin:
```kotlin
for (i in 0 until 10) {
println(i)
}
```
9. **数组声明**
* Java:
```java
int[] a = new int[10];
```
* Kotlin:
```kotlin
val a = IntArray(10)
```
10. **数组元素访问**
* Java:
```java
int a = arr[0];
```
* Kotlin:
```kotlin
val a = arr[0]
```
11. **列表声明**
* Java:
```java
List<Integer> list = new ArrayList<>();
```
* Kotlin:
```kotlin
val list = mutableListOf<Int>()
```
12. **列表元素访问**
* Java:
```java
int a = list.get(0);
```
* Kotlin:
```kotlin
val a = list[0]
```
13. **映射声明**
* Java:
```java
Map<String, Integer> map = new HashMap<>();
```
* Kotlin:
```kotlin
val map = mutableMapOf<String, Int>()
```
14. **映射元素访问**
* Java:
```java
int a = map.get("key");
```
* Kotlin:
```kotlin
val a = map["key"]
```
15. **函数声明**
* Java:
```java
public static int sum(int a, int b) {
return a + b;
}
```
* Kotlin:
```kotlin
fun sum(a: Int, b: Int) = a + b
```
16. **Lambda 表达式**
* Java:
```java
List<Integer> list = new ArrayList<>();
list.forEach((Integer i) -> System.out.println(i));
```
* Kotlin:
```kotlin
val list = mutableListOf<Int>()
list.forEach { println(it) }
```
17. **协程声明**
* Java:
```java
new Thread(() -> {
// Do something
}).start();
```
* Kotlin:
```kotlin
launch {
// Do something
}
```
18. **并发编程**
* Java:
```java
ExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.submit(() -> {
// Do something
});
```
* Kotlin:
```kotlin
val executorService = Executors.newFixedThreadPool(10)
executorService.submit {
// Do something
}
```
19. **流式编程**
* Java:
```java
List<Integer> list = new ArrayList<>();
list.stream().filter(i -> i > 0).map(i -> i * 2).forEach(System.out::println);
```
* Kotlin:
```kotlin
val list = mutableListOf<Int>()
list.filter { it > 0 }.map { it * 2 }.forEach { println(it) }
```
20. **面向对象编程**
* Java:
```java
public class MyClass {
private int a;
public MyClass(int a) {
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
```
* Kotlin:
```kotlin
class MyClass(private var a: Int) {
fun getA() = a
fun setA(a: Int) {
this.a = a
}
}
```
希望这份 Java 转 Kotlin 自查表对您有所帮助。如果您有任何问题,请随时留言。