자바 에서 Kotlin 까지 의 변화 - 기본 버 전 (자바 기반 보기 에 적합)
;
점 수 를 붙 일 필요 가 없다 1. 인쇄 방식
System.out.print("Hello, World!");
System.out.println("Hello, World!");
print("Hello, World!")
println("Hello, World!")
2. Variables 변수
不可变变量
final int x;
final int y = 1;
可变变量
int x;
int y = 2;
x = 3;
y = 1;
不可变变量
val x: Int
val y = 1
可变变量
var x: Int
var y = 2
x = 3
y = 1
3. 빈 값 NULL 에 대하 여
final String name = null;
String lastName;
lastName = null
if(text != null){
int length = text.length();
}
val name: String? = null
var lastName: String?
lastName = null
var firstName: String
firstName = null // 编译错误
val length = text?.length
val length = text!!.length // NullPointerException if text == null
4. String 문자열
String name = "John";
String lastName = "Smith";
String text = "My name is: " + name + " " + lastName;
String otherText = "My name is: " + name.substring(2);
String text = "First Line
" +
"Second Line
" +
"Third Line";
val name = "John"
val lastName = "Smith"
val text = "My name is: $name $lastName"
val otherText = "My name is: ${name.substring(2)}"
val text = """
|First Line
|Second Line
|Third Line
""".trimMargin()
5. 삼원 연산 자
String text = x > 5 ? "x > 5" : "x <= 5";
val text = if (x > 5) "x > 5" else "x <= 5"
6. 비트 조작
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
7.Is As In
if(x instanceof Integer){ }
final String text = (String) other;
if(x >= 0 && x <= 10 ){}
这里的is指代判断
if (x is Int) { }
这里的as是类型转换
val text = other as String
if (x in 0..10) { }
8. 스마트 전환
if(a instanceof String){
final String result = ((String) a).substring(1);
}
if (a is String) {
val result = a.substring(1)
}
9.Switch/When
final int x = // value;
final String xResult;
switch (x){
case 0:
case 11:
xResult = "0 or 11";
break;
case 1:
case 2:
//...
case 10:
xResult = "from 1 to 10";
break;
default:
if(x < 12 && x > 14) {
xResult = "not from 12 to 14";
break;
}
if(isOdd(x)) {
xResult = "is odd";
break;
}
xResult = "otherwise";
}
final int y = // value;
final String yResult;
if(isNegative(y)){
yResult = "is Negative";
} else if(isZero(y)){
yResult = "is Zero";
}else if(isOdd(y)){
yResult = "is Odd";
}else {
yResult = "otherwise";
}
val x = // value
val xResult = when (x) {
0, 11 -> "0 or 11"
in 1..10 -> "from 1 to 10"
!in 12..14 -> "not from 12 to 14"
else -> if (isOdd(x)) { "is odd" } else { "otherwise" }
}
val y = // value
val yResult = when {
isNegative(y) -> "is Negative"
isZero(y) -> "is Zero"
isOdd(y) -> "is odd"
else -> "otherwise"
}
10.For
for (int i = 1; i < 11 ; i++) { }
for (int i = 1; i < 11 ; i+=2) { }
for (String item : collection) { }
for (Map.Entry entry: map.entrySet()) { }
for (i in 1 until 11) { }
for (i in 1..10 step 2) {}
for (item in collection) {}
for ((index, item) in collection.withIndex()) {}
for ((key, value) in map) {}
11. 집합 (리스트, 지도)
final List numbers = Arrays.asList(1, 2, 3);
final Map map = new HashMap();
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
// Java 9
final List numbers = List.of(1, 2, 3);
final Map map = Map.of(1, "One",
2, "Two",
3, "Three");
for (int number : numbers) {
System.out.println(number);
}
for (int number : numbers) {
if(number > 5) {
System.out.println(number);
}
}
final Map> groups = new HashMap<>();
for (int number : numbers) {
if((number & 1) == 0){
if(!groups.containsKey("even")){
groups.put("even", new ArrayList<>());
}
groups.get("even").add(number);
continue;
}
if(!groups.containsKey("odd")){
groups.put("odd", new ArrayList<>());
}
groups.get("odd").add(number);
}
// or
Map> groups = items.stream().collect(
Collectors.groupingBy(item -> (item & 1) == 0 ? "even" : "odd")
);
final List evens = new ArrayList<>();
final List odds = new ArrayList<>();
for (int number : numbers){
if ((number & 1) == 0) {
evens.add(number);
}else {
odds.add(number);
}
}
final List users = getUsers();
Collections.sort(users, new Comparator(){
public int compare(User user, User otherUser){
return user.lastname.compareTo(otherUser.lastname);
}
});
// or
users.sort(Comparator.comparing(user -> user.lastname));
val numbers = listOf(1, 2, 3)
val map = mapOf(1 to "One",
2 to "Two",
3 to "Three")
numbers.forEach {
println(it)
}
numbers.filter { it > 5 }
.forEach { println(it) }
val groups = numbers.groupBy {
if (it and 1 == 0) "even" else "odd"
}
val (evens, odds) = numbers.partition { it and 1 == 0 }
val users = getUsers()
users.sortedBy { it.lastname }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.