55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결더 자바, Java 8
isPresent( ) 와 null 질문
값이 없는 경우 예외가 발생하는 건 똑같고, 예외처리로 할 수 있는게 옵셔널 일 경우 isPresent( ), 아닐 경우 null 체크 인데 굳이 왜 옵셔널로 isPresent 체크를 해야하는지 와닿지가 않습니다 ㅜㅜ 그냥 옵셔널 적용없이 null 체크 하면 되는거 아닌가요?
- 미해결더 자바, Java 8
예제 코드 질문
javaClasses.stream().anyMatch(oc -> oc.getTitle().contains("Test"));해당 코드에서 filter 를 사용하지 않고 anyMatch 를 사용하신 이유가 궁금합니다! 정확히는 이 둘의 차이를 알고 싶은건데요, anyMatch 의 경우엔 모든 요소를 탐색하지 않는다라는 블로그의 글을 참고하였는데 조금더 정확히 강사님의 의견을 듣고싶습니다.
- 미해결더 자바, Java 8
코드 질문있습니다.
List<String> collect2 = names.stream().filter(String::startsWith("k")).map(String::toUpperCase) 위 코드에서 .filter(String::startsWith("k")) 해당 부분이 에러가 나는데요, 왜 메소드 레퍼런스 방식이 에러가 나는것인지 모르겠습니다 ..filter(s -> s.startsWith("k")) 는 에러나지 않음. . toUppercase 도 static 메소드가 아닌데 에러나지 않고 startsWith 은 에러가 나는것일까요..? 제가 무엇을 제대로 모르고 있는것일까요..?
- 미해결더 자바, Java 8
java 11 버전 설치 질문
안녕하세요 ! java 8 수업인데 왜 java 11 버전 이상 설치를 권장하는지 궁금합니다,
- 해결됨더 자바, Java 8
람다식과 함수형 프로그래밍
안녕하세요! 학습 중 궁금한 내용이 있어 질문드립니다. 람다식을 사용 시 final 변수가 아니면 참조 시 오류가 발생한다고 하셨는데 그렇다면 람다식을 사용해 익명 클래스를 생성하는 것이 해당 함수가 부수 효과가 없는 함수라는 것을 보장해주는지 궁금합니다. 아니라면, 개발자가 직접 부수효과가 발생하지 않도록 신경써서 람다식을 작성해야 하는 것인가요? 감사합니다.
- 미해결더 자바, Java 8
아이패드 화면 어떻게 띄우셨나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 열심히 듣고 있습니다. 람다 표현식 강의 중에 아이패드 화면을 맥북에 띄우신 것 같은데 혹시 어떻게 띄우셨는지 알 수 있을까요? 좋은 강의 감사합니다!
- 미해결더 자바, Java 8
강의 내용을 보충 해줄만한 책이 있을까요?
아직 결제만 하고 진행은 하지 않았습니다. 강의 내용에 도움이 될 만한 책이 있다면 추천 부탁드립니다.
- 미해결더 자바, Java 8
CompletedFuture의 장점에 관한 의문입니다.
ExecutorService executorService = Executors.newSingleThreadExecutor(); Future<String> future = executorService.submit(() -> "hello!"); String res = future.get(); res = res.toUpperCase(); vs CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> { System.out.println("hello world! " + Thread.currentThread().getName()); return "I'm Kang"; }).thenApply(s -> { System.out.println(Thread.currentThread().getName()); return s.toUpperCase(); }); System.out.println(future.get()); 안녕하세요 강의 잘 듣고있습니다! 1분 50초 ~ 2분 5초까지 말씀하시길 일반적으로 아래와 같은 callback 방식이 다른 언어에서 작성하는 코딩 패턴이라고 말씀하셨습니다. 다만 저에게 있어 위 코드와 아래 코드가 동작하는 방식이 동일한 것 같고 (어찌 됐든 둘 다 get에서 blocking이 될 테니 말이죠) 그러다 보니 Callback을 사용하는 장점을 잘 이해하지 못했습니다. 조금 더 다채로운 상황에서 Callback을 사용할 때 유리한 점이 있다면 소개해 주실 수 있을까요?
- 해결됨더 자바, Java 8
람다 표현식, 메서드 레퍼런스 관련 질문입니다.
강의 수강 중 의문이 생겨 질문 드립니다. 람다 표현식을 통해 함수 객체가 생성된다고 배웠습니다. 그리고 메서드 레퍼런스는 람다 표현식을 간결하게 쓸 수 있는 것이므로 당연히 메서드 레퍼런스를 써도 어떠한 함수 객체? 가 생기게 된다고 이해했습니다. 여기서 의문이 생기는데 List의 sort() 메서드는 인자로 Comparator를 받고 이는 함수형 인터페이스이므로 메서드 레퍼런스를 통해 Comparator를 생성하여 인자 자리에 넣을 수 있는데 이때 메서드 레퍼런스를 통해 생성되는 '함수 객체'는 Comparator 클래스의 인스턴스 객체인가요? 아니면 다른 종류의 객체인가요? 해당 객체를 통해 reversed 등 Comparator 클래스의 함수를 호출할 수 있는 것으로 보아 Comparator 클래스의 인스턴스인가 생각했는데 제가 이해하기로는 람다 표현식으로 생성되는 객체는 클래스의 인스턴스가 아닐 것 같아서 질문드립니다. 아직 람다 표현식에 대한 이해가 부족해 질문이 조금 두서 없는 점 죄송합니다.
- 해결됨더 자바, Java 8
System.out 메소드 레퍼런스
안녕하세요. 인터페이스의 변화 - 두번째 강의 수강 중에 System.out에 대해 의문이 생겨 질문드립니다. 강의를 보면 forEach의 인자로 System.out::println을 사용하시는데 우선은 이러한 방식의 메소드 레퍼런스는 아래의 경우에 해당한다고 이해했습니다. 그렇다면 이때 forEach 메소드에 의해서 System.out 변수의 타입인 PrintStream 클래스의 객체가배열의 원소 각각에 대해 생성되어 결과적으로 출력이 수행된다고 이해하면 될까요?
- 미해결더 자바, Java 8
안녕하세요! 함수형 프로그래밍의 장점이 와닿지가 않습니다.
물론 처음에는 어렵고 적용하기 힘들겠지만 점차 연습하고 적용하면 생산성에 장점이 있을 것같고 코드줄 또한 단축되서 직관적이며 보기에도 편할 것 같아요.! 다만, 이뿐밖에 생각이 안나는데요! 혹시 선생님이 몸소 느꼈던 장점은 무엇인가요?
- 미해결더 자바, Java 8
Stream 이 처리하는 데이터 소스 변경
안녕하세요 강의 정말 잘 듣고있습니다! Stream 속성중에 2번쨰, 원본 데이터 소스는 변경하지 않는다고 레퍼런스에 적혀있어서 학습용도로 혼자 공부하면서 테스트해보았는데, - Functional in nature. An operation on a stream produces a result, but does not modify its source. 정말 원본 데이터가 안바뀌는지 궁금해서 해보았습니다. List<Food> foods = new ArrayList<>();foods.add(new Food("Pizza",200));foods.add(new Food("Bob",100));foods.add(new Food("Chicken",400));List<Food> result = foods.stream().map((food) -> { food.setName("changed"); return food;}).collect(Collectors.toList()); 위 코드를 실행했을떄 collection내에 원본 객체들이 변경되지 않을거라고 생각했는데, 결과를 출력해보니 collection내 원본객체들이 모두 변경되어서 제가 뭔가 잘못 이해한 부분이 있는 것 같아서 질문드립니다
- 미해결더 자바, Java 8
노트 내용 문의
중간중간 보이는 구글독스의 노트는 공유 해주시는곳이 있나요?
- 미해결더 자바, Java 8
함수형 인터페이스 메서드 lambda로 변환(IDE Eclipse일 때)
기선님 강의에서와 마찬가지로 eclipse IDE에서도 lambda 변환 제공하더라구요바꾸고 싶은 변수 new로 선언하는 부분에 커서 두시고 cntl+1누르시고 contert to lambda expression 하시면 됩니다.
- 미해결더 자바, Java 8
Optional에서 of()는 언제 사용할까요??
Optional ofNullable()과 of()의 차이는 널 값을 가질 수 있는지로 알고있는데요.ofNullable()의 코드를 봐도 내부적으로 of()를 사용하고 성능상에도 큰차이가 있을까? 라는 생각이 드는듯한 코드인데 of()를 사용하는 경우가 어떤것이 있을까요?? public static <T> Optional<T> of(T value) { return new Optional<>(value); } public static <T> Optional<T> ofNullable(T value) { return value == null ? empty() : of(value); }
- 미해결더 자바, Java 8
CompletableFuture2 학습 중 궁금한점이 있습니다.
CompletableFuture 2 강의 중에 09:16쯤에 allof 후에 thenApply 시점에서 모든 작업이 끝난 상태라고 하셨는데 그러면 allof는 invokeAll과 같이 모든 작업이 끝날 때까지 기다리는 것 같은데 그러면 블록킹 콜이 되는 것이 아닌가요?? 하지만 11분 53초에서는 아무것도 블록킹이 되지 않는다고 하셔서 헷갈려서 질문 드립니다. 제가 블록킹 콜에 대한 의미를 잘못 알고 있는 것일까요?? 관련 키워드도 함께 알려주시면 공부해보겠습니다.
- 해결됨더 자바, Java 8
타입추론 부분(?)에서 따로 설정되어있는 건가요...?
안녕하세요 기선님, 강의 내용과는 상관 없는 질문인데 혹시 인텔리제이에서 타입이 저렇게 보이는 부분은 따로 설정하는게 있는건가요?? stream 안에 어떤 타입이 들어가있는지 직접 생각하면 좋지만 가끔씩은 저렇게 옆에 나온다면 조금 편해보일것 같아서 질문드렸습니다! 감사합니다
- 미해결더 자바, Java 8
강의 중 사용하시는 인텔리제이 클래스 선언? 자동완성은 어떻게 할 수 있나요?
강의 정말 재밌게 잘보고 있습니다. 강의에 대한 질문은 아니고 예제를 보여주실 때 names.stream().map(String::toUpperCase); 이 코드를 드래그 하셔서 단축키를 누르시면 아래와 같이 코드가 자동완성 되는걸 봤는데 Stream<String> stringStream = names.stream().map(String::toUpperCase); 혹시 이 기능의 인텔리제이 단축키나 이름을 알수있을까요? Keymap을 뒤져봐도 보이지 않아 문의드립니다.
- 미해결더 자바, Java 8
github 강의 소스
안녕하세요. 강의 소스 위치, 여기가 맞나요? https://github.com/whiteship/java8 Arrays.parallelSort() App.java만 보입니다.
- 미해결더 자바, Java 8
Primitive type Optional 필요성이 궁금합니다!
우선 좋은강의 항상 감사드립니다. primitive type 경우 Optional이 따로 존재하는데 primitive type은 null값을 가질일이 없는데 혹시 어떨때 어떤목적으로 사용이되나요?