본문 바로가기

Programming/Kotlin4

java에는 없고 kotlin에만 있는 함수 : let, also, apply, run java에는 없고 kotlin에만 있는 함수로 let, also, apply, run 이 있다. 하나씩 살펴보자. let fun main() { // let val now : LocalDateTime?= null // 타입에 대한 제네릭을 받아서 리턴해줌 -> map이랑 비슷 /** * @kotlin.internal.InlineOnly * public inline fun T.let(block: (T) -> R): R { * contract { * callsInPlace(block, InvocationKind.EXACTLY_ONCE) * } * return block(this) * } */ val kst = now?.let{ // 엘비스 연산자를 통해 있을 때만 처리하도록 함 println(it) } //.. 2023. 10. 22.
Java와 Kotlin 비교: default value, when, 확장함수 Kotlin의 default value 사용하기 public class Exam08 { public static void main(String[] args) { var registerDto = new Store(); new Exam08(registerDto); } public Exam08(Store store){ // null point -> 터짐 var stringRegisteredAt = toLocalDateTimeString(store.getRegisteredAt()); } public String toLocalDateTimeString(LocalDateTime localDateTime){ // null을 방지하려고 이런식으로 방어 로직을 짬 LocalDateTime temp; if(localDat.. 2023. 10. 22.
Java와 Kotlin 비교 : map, 고차함수, 클래스 - 상속 인터페이스, 코틀린의 property 개념 map public class Exam04 { public Exam04(){ var hashMap = new HashMap(); hashMap.put("key", "value"); hashMap.put("key", 10); var map = Map.of( "key1","value1", "key2","value2", "key3","value3" ); hashMap.get("key"); } } fun Main() { // 코틀린에서도 마찬가지로 key value 형식으로 map을 만들 수 있다. -> 기본형태는 immutable // java의 Object -> 코틀린에서는 Any // pair라는 문법 val map = mapOf( Pair("", ""), "key" to "value" ) // 만약 mu.. 2023. 10. 22.
Java와 Kotlin 비교 : 변수, null 안정성, 엘비스 연산자, 가변/불변 컬렉션 변수 public class Exam01 { public Exam01(){ String name = "홍길동"; String format ="사용자의 이름은 : %s"; String result = String.format(format, name); System.out.println(result); int age = 10; Integer _age = 20; double d = 10d; Double _d = 20.0; float f = 20f; Float _f = 20f; long l = 10L; Long _l = 10L; } } fun main() { // var -> mutable, val -> final(불변) // : [타입] val name: String = "홍길동" var _name: Stri.. 2023. 10. 22.