자바: 91개의 글
지난번 포스팅을 참조하면, 배열을 List로 변환할 때, Arrays.asList() 메소드를 사용하면 됩니다. 하지만, 배열의 원소가 int와 같은 primitive type인 경우 Arrays.asList()는 좀 다른 결과를 리턴합니다. 0. Arrays.asList()로 int 배열 변환하기 - Fail 코드 import java.util.Arrays; import java.util.List; public class IntArrayConvertToList { public static void main(String[] args) { // int 배열 int[] arr = { 1, 2, 3 }; // Arrays.asList() List intList = Arrays.asList(arr); // 결과..
배열을 List로 Arrays.asList() new ArrayList(Arrays.asList()) Collectors.toList() ArrayList를 배열로 toArray() - java.util.List 배열을 List로 1. Arrays.asList() 코드 import java.util.Arrays; import java.util.List; public class ArrayConversion { public static void main(String[] args) { String[] arr = { "A", "B", "C" }; // 배열 -> List로 변환 List list = Arrays.asList(arr); System.out.println(list.get(0)); // "A" Sys..
들어가며 mac에서scala를 설치하는 방법에 대해서 설명을 한다. scala는 java를 기반으로 해서 미리 java를 설치를 해야한다. dependency를 위해 build tool로 gradle을 설치했다. 설치를 완료한 후에는 환경변수를 설정해주면 끝 Java 설치하기 $ brew install cask install java Scala 설치하기 $ brew install scala Grade 설치하기 https://gradle.org/ 에서 다운로드가 가능하다. $ unzip grade-3.1-all.zip 환경변수 세팅하기 ~/.bash_profile에 아래와 같이 입력하자 export JAVA_HOME= export GRADLE_HOME=
이전까지 간단하게 코틀린에 대한 간략한 문법들을 다루어봤는데, 이번 포스팅은 코틀린의 클래스, 객체, 인터페이스에 대해 다루어본다. 인터페이스 자바의 인터페이스와 크게 다르지 않다. interface SampleInterface1 { val property: String fun method1() fun method3() = println("method2") } interface SampleInterface2 { fun method2() fun method3() = println("method2") } class SampleImpl(): SampleInterface1, SampleInterface2 { override val property: String get() = TODO("Not yet implem..
오늘은 코틀린의 함수 정의와 호출에 대해 다루어 본다. 컬렉션 객체 만들기 fun createHashSet() = hashSetOf(1, 7, 53) fun createArrayList() = arrayListOf(1, 7, 53) fun createHashMap() = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three") 기본적으로 코틀린은 컬렉션을 만드는 함수를 기본 라이브러리에 내장이 되어 있다. 또한 마지막에 hashMap을 만드는 함수 안에 "to"라는 키워드가 있는데, 사실 키워드가 아니고 일반 함수이다. 이점은 뒤에서 자세히 설명한다. 또한 생성하는 컬렉션 객체는 코틀린만의 컬렉션 객체가 아니고, 자바의 컬렉션 객체를 생성한다. 하지만 자바에서..
오늘은 코틀린에 대해 아주 기초를 다루어본다. 함수(Function) 코틀린에서 함수는 "fun"이라는 키워드로 정의한다. 간단하게 리턴값이 있고, 없는 함수와 바디 내용이 식으로만 이루어졌을때 함수를 간략화 하는 방법은 아래와 같다. /** * 리턴이 없는 함수 */ fun helloWorld() { println("hello, world") } /** * 리턴값이 있는 함수 */ fun max(a: Int, b: Int): Int { //코틀린의 if문은 식(리턴 값이 존재)이지 문(block, return이 없음)이 아니다. return if (a > b) a else b } /** * max 함수와 간략 버전 * 함수의 본문이 식으로만 이루어져있다면, 아래처럼 간략하게 바꿀 수 있다. * 또한 반..
오류명 : No message available 오류원인 : 1. Lombok Requires Annotation Processing 오류 2. MainApplication이랑 다른 패키지에 있을 경우 오류해결 : 1. Lombok Requires Annotation Processing 문제 해결 2. MainApplication이랑 같은 패키지에 넣어 놓아서 해결 1. Lombok Requires Annotation Processing 오류 인텔리제이로 프로젝트 실행시 아래 오류와 함께 프로젝트 실행이 안되었다. 확인해보니 Lombok Requires Annotation Processing 오류로 확인되었다. 다음과 같이 Enable 버튼을 클릭하여 해결하거나 아래와 같이 설정하여 해결하도록하자. 1-..
오류제목 : java.lang.NullPointerException(lombok 체크) 오류내용 : 회사에서 잘되던 코드가 집에서 실해하니 Null 오류를 뿜어냈다. 오류원인 : lombok 미추가로 인한 getter, setter 기능 미실행으로 발생한 오류였다. 오류해결 : lombok 추가와 Job에서 final 선언 추가 후 해결하였다. 잘되던 코드가 안된다면 lombok을 체크해보자. 회사에서 잘되던 코드가 집에서는 실행하니 NullPointer 오류를 발생했다. database.properties라고 생각하여 database.properties 변경을 하였으나 동일한 문제가 발생하였다. 원인은 lombok미설치로인한 getter, setter 실패 그러므로 잘되던 코드가 안된다면 getter,..
오류내용 : [WARNING] The requested profile "pom.xml" could not be activated because it does not exist. 오류원인 : 메이븐 빌드시 Run configuration의 pom.xml 문제로 확인됨 오류처리 : Run configuration의 profile에서 pom.xml 삭제 후 정상적으로 메이븐 빌드됨 프로젝트 메이븐 빌드시 다음과 같은 오류가 발생하였다. [WARNING] The requested profile "pom.xml" could not be activated because it does not exist. 해당 오류의 오류원인은 메이븐 빌드시 Run configuration의 pom.xml 문제로 확인되었다. 다음과 ..
오류내용 : Controller로 페이지 이동시 404 오류 발생 오류원인 : 1. Controller가 잘못 설정되어 있을 경우 2. application.properties에 내용이 잘못되어 있을 경우 3. jsp 파일의 경로가 잘못되어 있거나 없을 경우 4. build.gradle에서 dependency가 정상 주입이 안되어 있었을 경우 5. maven의 경우 pom.xml에서 tomcat-embed-jasper가 추가 안되어 있을 경우 오류해결 : 1. Controller 설정 확인 2. application.properties의 내용 확인 3. jsp 파일의 경로 확인 4. build.gradle에서 dependency가 정상적으로 추가되었는지 확인 5. pom.xml에서 tomcat-embed..