From Java To Kotlin
31963 ワード
ログの印刷 Java Kotlin
定数と変数 Java Kotlin
null宣言 Java Kotlin
くうだんてい Java Kotlin
文字列の結合 Java Kotlin
折り返し Java Kotlin
さんげんしき Java Kotlin
オペレータ java Kotlin
タイプ判定と変換(宣言) Java Kotlin
タイプ判定と変換(暗黙的) Java Kotlin
たじゅうじょうけん Java Kotlin
より柔軟なcase文 Java Kotlin
forサイクル Java Kotlin
より便利な集合操作 Java Kotlin
遍歴する Java Kotlin
メソッド定義 Java Kotlin
戻り値付きメソッド Java Kotlin
終了記号なし Java Kotlin
コンストラクタコンストラクタ Java Kotlin
Get Setコンストラクタ Java Kotlin Java Kotlin
重要なことを知る必要があります Learn Kotlin - lateinit vs lazy Learn Kotlin - apply vs with Learn Kotlin - Data Class Learn Kotlin - Destructuring Declarations Learn Kotlin - Extension Functions Learn Kotlin - Sealed Classes
このプロジェクトがあなたに役に立つと思うなら❤️クリックで⭐10.支持を表す✌️
Check out Mindorks awesome open source projects here
License
System.out.print("Amit Shekhar");
System.out.println("Amit Shekhar");
print("Amit Shekhar")
println("Amit Shekhar")
定数と変数
String name = "Amit Shekhar";
final String name = "Amit Shekhar";
var name = "Amit Shekhar"
val name = "Amit Shekhar"
null宣言
String otherName;
otherName = null;
var otherName : String?
otherName = null
くうだんてい
if (text != null) {
int length = text.length();
}
text?.let {
val length = text.length
}
// or simply
val length = text?.length
文字列の結合
String firstName = "Amit";
String lastName = "Shekhar";
String message = "My name is: " + firstName + " " + lastName;
val firstName = "Amit"
val lastName = "Shekhar"
val message = "My name is: $firstName $lastName"
折り返し
String text = "First Line
" +
"Second Line
" +
"Third Line";
val text = """
|First Line
|Second Line
|Third Line
""".trimMargin()
さんげんしき
String text = x > 5 ? "x > 5" : "x <= 5";
val text = if (x > 5)
"x > 5"
else "x <= 5"
オペレータ
final int andResult = a & b;
final int orResult = a | b;
final int xorResult = a ^ b;
final int rightShift = a >> 2;
final int leftShift = a << 2;
val andResult = a and b
val orResult = a or b
val xorResult = a xor b
val rightShift = a shr 2
val leftShift = a shl 2
タイプ判定と変換(宣言)
if (object instanceof Car) {
}
Car car = (Car) object;
if (object is Car) {
}
var car = object as Car
タイプ判定と変換(暗黙的)
if (object instanceof Car) {
Car car = (Car) object;
}
if (object is Car) {
var car = object // smart casting
}
たじゅうじょうけん
if (score >= 0 && score <= 300) { }
if (score in 0..300) { }
より柔軟なcase文
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";
}
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サイクル
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()) { }
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) { }
より便利な集合操作
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, 2, 3, 4);
final Map<Integer, String> keyValue = Map.of(1, "Amit",
2, "Ali",
3, "Mindorks");
val listOfNumber = listOf(1, 2, 3, 4)
val keyValue = mapOf(1 to "Amit",
2 to "Ali",
3 to "Mindorks")
遍歴する
// 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));
cars.forEach {
println(it.speed)
}
cars.filter { it.speed > 100 }
.forEach { println(it.speed)}
メソッド定義
void doSomething() {
// logic here
}
void doSomething(int... numbers) {
// logic here
}
fun doSomething() {
// logic here
}
fun doSomething(vararg numbers: Int) {
// logic here
}
戻り値付きメソッド
int getScore() {
// logic here
return score;
}
fun getScore(): Int {
// logic here
return score
}
// as a single-expression function
fun getScore(): Int = score
終了記号なし
int getScore(int value) {
// logic here
return 2 * value;
}
fun getScore(value: Int): Int {
// logic here
return 2 * value
}
// as a single-expression function
fun getScore(value: Int): Int = 2 * value
コンストラクタコンストラクタ
public class Utils {
private Utils() {
// This utility class is not publicly instantiable
}
public static int getScore(int value) {
return 2 * value;
}
}
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
}
}
Get Setコンストラクタ
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 +
'}';
}
}
data class Developer(val name: String, val age: Int)
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);
fun Int.triple(): Int {
return this * 3
}
var result = 3.triple()
重要なことを知る必要があります
このプロジェクトがあなたに役に立つと思うなら❤️
Check out Mindorks awesome open source projects here
License
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.