'kotlin'에 해당되는 글 7건

  1. 2020.01.10 tutorial site
  2. 2019.07.30 kotlin java class object 얻기
  3. 2018.09.20 dagger
  4. 2018.09.20 reified
  5. 2018.09.20 in/out keywords
  6. 2018.08.31 First Class Function
  7. 2018.08.22 kotlin 관한 글 (link)
kotlin2020. 1. 10. 09:57

https://www.tutorialkart.com/kotlin-android/android-textview-justify-text/

불러오는 중입니다...

 

'kotlin' 카테고리의 다른 글

kotlin java class object 얻기  (0) 2019.07.30
dagger  (0) 2018.09.20
reified  (0) 2018.09.20
in/out keywords  (0) 2018.09.20
First Class Function  (0) 2018.08.31
Posted by easy16
kotlin2019. 7. 30. 13:16

Component 객체를 생성하여 Intent에 붙여주기 위해 아래와 같이 java class object를 얻어 낼 수 있다.

 

var comp = ComponentName(application, TestBroadCastReceiver::class.java)
var i = Intent("a.b.c")
i.setComponent(comp)

'kotlin' 카테고리의 다른 글

tutorial site  (0) 2020.01.10
dagger  (0) 2018.09.20
reified  (0) 2018.09.20
in/out keywords  (0) 2018.09.20
First Class Function  (0) 2018.08.31
Posted by easy16
kotlin2018. 9. 20. 12:05

출처 : 

https://medium.com/@maryangmin/di-%EA%B8%B0%EB%B3%B8%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%82%AC%EC%9A%A9%EB%B2%95%EA%B9%8C%EC%A7%80-dagger2-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-3332bb93b4b9

'kotlin' 카테고리의 다른 글

tutorial site  (0) 2020.01.10
kotlin java class object 얻기  (0) 2019.07.30
reified  (0) 2018.09.20
in/out keywords  (0) 2018.09.20
First Class Function  (0) 2018.08.31
Posted by easy16
kotlin2018. 9. 20. 11:12


fun <T> TreeNode.findParentOfType(clazz: Class<T>): T? {

  var p = parent

  while (p != null && !clazz.isInstance(p)) { 

    p = p?.parent

  } 

  

  @Suppress("UNCHECKED_CAST") 

  return p as T

}



위 함수는 노드가 특정 타입을 가졌는지 확인하기 위해 트리를 탐색하고 리플렉션을 사용하는 코드이다. 위 함수를 호출할 때 다음과 같이 호출할 것이다. 


findParentOfType(SomeClass::class.java)



inline fun <reified T> TreeNode.findParentOfType(): T? { 

  var p = parent

  while (p != null && p !is T) { 

    p = p?.parent

  }

  

  return p as T 

}


위와 같이 인라인 함수를 정의하였다면 findParentOfType<SomeClass>() 이렇게 호출할 수 있다. 

타입 파라미터에 reified를 정의하면 마치 클래스처럼 타입 파라미터에 접근할 수 있다. 

인라인 함수이므로 리플렉션이 필요 없고 is나 as와 같은 일반 연산자가 동작한다.

 참고로 인라인이 아닌 일반 함수에는 reified를 사용할 수 없다.


결론 : 


inline 함수에서 reified를 사용하면 아래와 같이 함수호출을 간결하게 바꿀 수 있다.

findParentOfType(SomeClass::class.java) -> findParentOfType<SomeClass>()



출처 :

https://medium.com/@joongwon/kotlin-kotlin-%ED%82%A4%EC%9B%8C%EB%93%9C-%EB%B0%8F-

%EC%97%B0%EC%82%B0%EC%9E%90-%ED%95%B4%EB%B6%80-part-3-59ff3ed736be

'kotlin' 카테고리의 다른 글

kotlin java class object 얻기  (0) 2019.07.30
dagger  (0) 2018.09.20
in/out keywords  (0) 2018.09.20
First Class Function  (0) 2018.08.31
kotlin 관한 글 (link)  (0) 2018.08.22
Posted by easy16
kotlin2018. 9. 20. 11:04

java kotlin ? extends T , ? super T,  in/out 설명

https://thdev.tech/kotlin/androiddev/2017/10/03/Kotlin-Generics/ 

'kotlin' 카테고리의 다른 글

kotlin java class object 얻기  (0) 2019.07.30
dagger  (0) 2018.09.20
reified  (0) 2018.09.20
First Class Function  (0) 2018.08.31
kotlin 관한 글 (link)  (0) 2018.08.22
Posted by easy16
kotlin2018. 8. 31. 14:16



퍼스트클래스 함수란 프로그래밍 언어가 함수 (function) 를 first-class citizen으로 취급하는 것을 뜻합니다. 쉽게 설명하자면 함수 자체를 인자 (argument) 로써 다른 함수에 전달하거나 다른 함수의 결과값으로 리턴 할수도 있고, 함수를 변수에 할당하거나 데이터 구조안에 저장할 수 있는 함수를 뜻합니다.



출처 : http://schoolofweb.net/blog/posts/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%8D%BC%EC%8A%A4%ED%8A%B8%ED%81%B4%EB%9E%98%EC%8A%A4-%ED%95%A8%EC%88%98-first-class-function/

'kotlin' 카테고리의 다른 글

kotlin java class object 얻기  (0) 2019.07.30
dagger  (0) 2018.09.20
reified  (0) 2018.09.20
in/out keywords  (0) 2018.09.20
kotlin 관한 글 (link)  (0) 2018.08.22
Posted by easy16
kotlin2018. 8. 22. 16:45

링크 :

https://gist.github.com/Hazealign/1bbc586ded1649a8f08f

'kotlin' 카테고리의 다른 글

kotlin java class object 얻기  (0) 2019.07.30
dagger  (0) 2018.09.20
reified  (0) 2018.09.20
in/out keywords  (0) 2018.09.20
First Class Function  (0) 2018.08.31
Posted by easy16