从java到Kotiln

发布时间:2020-09-16 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了从java到Kotiln编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Mindorks


Mindorks Community

打印日志

  • Java
      
      
1
2
      
      
System.out.print( "Amit Shekhar");
System.out.println( "Amit Shekhar");
  • Kotlin
      
      
1
2
      
      
print( "Amit Shekhar")
println( "Amit Shekhar")

常量与变量

  • Java
      
      
1
2
      
      
String name = "Amit Shekhar";
final String name = "Amit Shekhar";
  • Kotlin
      
      
1
2
      
      
var name = "Amit Shekhar"
val name = "Amit Shekhar"

null声明

  • Java
      
      
1
2
      
      
String otherName;
otherName = null;
  • Kotlin
      
      
1
2
      
      
var otherName : String?
otherName = null

空判断

  • Java
      
      
1
2
3
      
      
if (text != null) {
? int length = text.length();
}
  • Kotlin
      
      
1
2
3
      
      
text?.let {
val length = text.length
}

字符串拼接

  • Java
      
      
1
2
3
      
      
String firstName = "Amit";
String lastName = "Shekhar";
String message = "My name is: " + firstName + " " + lastName;
  • Kotlin
      
      
1
2
3
      
      
val firstName = "Amit"
val lastName = "Shekhar"
val message = "My name is: $firstName $lastName"

换行

  • Java
      
      
1
2
3
      
      
String text = "First Linen" +
? ? ? ? ? ? ? "Second Linen" +
? ? ? ? ? ? ? "Third Line";
  • Kotlin
      
      
1
2
3
4
5
      
      
val text = """
? ? ? ? |First Line
? ? ? ? |Second Line
? ? ? ? |Third Line
? ? ? ? """.trimMargin()

三元表达式

  • Java
      
      
1
      
      
String text = x > 5 ? "x > 5" : "x <= 5";
  • Kotlin
      
      
1
2
3
      
      
val text = if (x > 5)
? ? ? ? ? ? ? "x > 5"
?? ? ? ? ? else "x <= 5"

类型判断和转换 (声明式)

  • Java
      
      
1
2
3
      
      
if (object instanceof Car) {
}
Car car = (Car) object;
  • Kotlin
      
      
1
2
3
      
      
if ( object is Car) {
}
var car = object as Car

类型判断和转换 (隐式)

  • Java
      
      
1
2
3
      
      
if (object instanceof Car) {
?? Car car = (Car) object;
}
  • Kotlin
      
      
1
2
3
      
      
if ( object is Car) {
?? var car = object
}

多重条件

  • Java
      
      
1
      
      
if (score >= 0 && score <= 300) { }
  • Kotlin
      
      
1
      
      
if (score in 0. .300) { }

更灵活的case语句

  • Java
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
      
      
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
      
      
1
2
3
4
5
6
7
8
      
      
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循环

  • Java
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
      
      
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
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
      
      
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
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
      
      
final List<Integer> 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<Integer> listOfNumber = List.of( 1,String> keyValue = Map.of( 1,"Amit",
2,"Ali",
3,"Mindorks");
  • Kotlin
      
      
1
2
3
4
      
      
val listOfNumber = listOf( 1,4)
val keyValue = mapOf( 1 to "Amit",
?? ? ? ? ? ? ? ? ? ? 2 to "Ali",
?? ? ? ? ? ? ? ? ? ? 3 to "Mindorks")

遍历

  • Java
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      
      
// 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
      
      
1
2
3
4
5
6
      
      
cars.forEach {
println(it.speed)
}
cars.filter { it.speed > 100 }
.forEach { println(it.speed)}

方法定义

  • Java
      
      
1
2
3
4
5
6
7
      
      
void () {
?? // logic here
}
void (int... numbers) {
// logic here
}
  • Kotlin
      
      
1
2
3
4
5
6
7
      
      
fun () {
?? // logic here
}
fun (vararg numbers: Int) {
// logic here
}

带返回值的方法

  • Java
      
      
1
2
3
4
      
      
int getScore() {
?? // logic here
?? return score;
}
  • Kotlin
      
      
1
2
3
4
5
6
7
8
      
      
fun getScore(): Int {
?? // logic here
?? return score
}
// as a single-expression function
fun getScore(): Int = score

无结束符号

  • Java
      
      
1
2
3
4
      
      
int getScore(int value) {
? ? // logic here
? ? return 2 * value;
}
  • Kotlin
      
      
1
2
3
4
5
6
7
8
      
      
fun getScore(value: Int): Int {
?? // logic here
?? return 2 * value
}
// as a single-expression function
fun getScore(value: Int): Int = 2 * value

constructor 构造器

  • Java
      
      
1
2
3
4
5
6
7
8
9
10
11
      
      
public class Utils {
? ? private Utils() {?
? ? ? // This utility class is not publicly instantiable?
? ? }
?? ?
? ? public static int getScore(int value) {
? ? ? ? return 2 * value;
? ? }
?? ?
}
  • Kotlin
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
      
      
class Utils private constructor() {
? ? companion object {
?? ?
? ? ? ? fun getScore(value: Int): Int {
? ? ? ? ? ? return 2 * value
? ? ? ? }
?? ? ? ?
? ? }
}
// other way is also there
object Utils {
? ? fun getScore(value: Int): Int {
? ? ? ? return 2 * value
? ? }
}

Get Set 构造器

  • Java
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
      
      
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;
? ? }
? ?
? ? 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;
? ? }
? ?
? ? public int hashCode() {
? ? ? ? int result = name != null ? name.hashCode() : 0;
? ? ? ? result = 31 * result + age;
? ? ? ? return result;
? ? }
? ?
? ? public String toString() {
? ? ? ? return "Developer{" +
? ? ? ? ? ? ? ? "name='" + name + ''' +
? ? ? ? ? ? ? ? ",age=" + age +
? ? ? ? ? ? ? ? '}';
? ? }
}
  • Kotlin
      
      
1
      
      
data class Developer( val name: String,val age: Int)
  • Java
      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
      
      
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
      
      
1
2
3
4
5
      
      
fun Int.triple(): Int {
? return this * 3
}
var result = 3.triple()

你需要知道一些比较重要的事

如果你觉得这个项目对你有帮助 :heart:

  • 你可以通过点击 :star:表示支持 :v:

Check out Mindorks awesome open source projects here

License

      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
      
      
?? Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED
?? Licensed under the Apache License,Version 2.0 (the "License");
?? you may not use this file except in compliance with the License.
?? You may obtain a copy of the License at
?? ? ? http://www.apache.org/licenses/LICENSE-2.0
?? Unless required by applicable law or agreed to in writing,software
?? distributed under the License is distributed on an "AS IS" BASIS,
?? WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
?? See the License for the specific language governing permissions and
?? limitations under the License.

原文:大专栏  从java到Kotiln

总结

以上是编程之家为你收集整理的从java到Kotiln全部内容,希望文章能够帮你解决从java到Kotiln所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478