Backend/JAVA&JAVA8
-
[JAVA8] About Optional-2 / Optional에 대하여-2Backend/JAVA&JAVA8 2022. 5. 5. 13:51
Stream에서도 잠깐 다루었고, 차후 filter와 map에 대해서 다루게 되겠지만 Java에서 자료구조를 다루는 방식이 여러가지 입니다. Optional은 Null을 다루는 기능인데에도 조건부로 출력할 가능성이 있을까요? 넵 있습니다. 모든 자료가 전부 자료구조에 담기지 않잖아요? 예를 들어 Java의 모든 자료가 List someList 이런식으로 List에만 담기지 않듯 String, Integer에만 담기는 자료들도 있을 건데 그 자료형들도 모두 Optional로 처리할 일이 생기실 겁니다. 하나의 자료도 함수형언어 답게 filter를 걸어서 출력하고 / 안하고를 결정할 수 있습니다. 백문이 불여일타라고 아래 코드 살펴보시죠. 1.Optional + Filter Optional filterGen..
-
[JAVA8] About Optional-1 / Optional에 대하여-1Backend/JAVA&JAVA8 2022. 5. 5. 13:46
안녕하세요. 오늘은 Java8에서 빠질 수 없는 개념, Null 을 다루는 새로운 방법인 Optional에 대해서 다루어 볼까 해요. Optional은 Java 진영에서 꺼낸 비장의 무기 같은 느낌이 듭니다. Null에 대한 지속적인 불만을 토론한 개발자들의 의견이 겨우 반영된 느낌이랄까요? 정작 저는 Java8이 나왔을 때 당시에 제대로 사용하기는커녕 다른 개발을 하느라 정신없었죠. Java로 개발을 하다가 자주 마주치는 Exception 중 하나인 NullPointerException을 마주치면... 또야..? 출처 입력 하는 생각이 드실 거예요. 그리고 그것을 방지하기 위해 아래와 같은 코드를 많이 작성하셨을 거라고 생각해요. if(version != null) { if(operationCode !..
-
[JAVA8] About Stream 스트림에 대하여Backend/JAVA&JAVA8 2022. 5. 5. 13:37
안녕하세요. 오늘은 JAVA로 개발을 하면서 적잖이 충격을 받았던 JAVA8에 대해서 이야기해보고, 또 어떻게 사용하고 있는지 기능 별로 정리하여 제가 추후에 저의 블로그를 보고 참고하여 사용할 수 있게 끔 정리하는 포스팅을 진행하려 합니다. 저는 정확히는 람다라는 개념을 Javascript에서 처음 접하게 되었습니다. 이때 저는 처음으로 제 머릿속에서, 본격적으로 함수형 프로그래밍에 대한 개념이 제 머릿속에서 생겨났다고 봅니다. 굉장히 낯설었던 기억이 납니다. JAVA8 이전에는 어떠한 자료구조에 대해서 순환하며 데이터를 뽑으려면 iterator와 함께 while 문을 사용하거나 for 문을 돌려야 했습니다. 아래처럼요. // Java7 이전의 코드 List testDataList = testData(..