inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

euni님의 게시글

euni euni

@enni

수강생
-
수강평
-
강의 평점
-

게시글 9

질문&답변

코틀린으로 해당 C# 예제를 비슷하게 만들어봤는데, 제가 잘못 작성한 걸까요?

글이 이상하게 올라갔네요 ㅜ.. 지식 공유자님께서 작성해주신 C# 코드 예제를 코틀린으로 비슷하게 작성해서 시도해보았지만 같은 상황이 재현되지 않습니다. 제가 지식 공유자님의 코드를 잘못 이해하고 작성한 것인지, 아니면 JVM의 의도치 않은 최적화 때문에 의도와 다르게 동작하는 것인지 궁금합니다. 위에 다시 올렸습니다!!

좋아요수
1
댓글수
4
조회수
746

질문&답변

코틀린으로 해당 C# 예제를 비슷하게 만들어봤는데, 제가 잘못 작성한 걸까요?

fun main (args: Array ) { Example().startUp() } class Example() { private var shouldStop = false fun startUp() { println("process start") val thread = Thread(Runnable { doWork() }) thread.start() Thread.sleep(1000) shouldStop = true thread.join() println("process end") } private fun doWork() { while (!shouldStop) { println("doWork..") Thread.sleep(1000) } } }

좋아요수
1
댓글수
4
조회수
746

질문&답변

orElseThrow()

지나가다가 답변이 없길래 제 의견을 남겨보자면 if ( member.getId() != null ) { return member id; } else { throw new MemberNotFoundException; } 보다는 member.getId().orElseThrow(() -> new MemberNotFoundException); 이 여러모로 낫지 않을까요 Optional의 기능 자체가 모두 하드코딩으로 해결 가능한 부분이긴 하지만 가독성도 좋지 않고 코드도 길어지니까요 "꼭 필요한가?"라는 논리에 따르면 Optional은 orElseThrow뿐 아니라 다른 모든 메서드도 꼭 필요한 건 아니라고 봅니다. 다만 더 간결하고 편하죠, 그리고 좀 더 고수같구요 ㅋㅋ

좋아요수
1
댓글수
2
조회수
1101