Java

    Java - UnsupportedOperationException 원인과 해결법

    팀 프로젝트가 끝이 났다. 모든 정신을 프로젝트에 집중하다보니 한 달이라는 시간이 금방 지나갔다. 그동안 손을 놓아버린 알고리즘과 다시 친해지기 위해 오랜만에 문제 하나를 풀어보았다. 오늘 다루게 될 에러는 알고리즘을 풀면서 만난 UnsupportedOperationException이다. Array를 List로 변환한 후 List 요소를 삭제하고 싶었는데, 이 과정에서 에러가 발생했다. 아래는 에러가 발생했던 코드이다. class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; List compList = Arrays.asList(completion); for (String s..

    Spring - Invalid character found in method name. HTTP method names must be tokens 에러

    java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x03@0x060x8d0x9bS0x170x8a0xb0"0x1c0x09m0xe6:0xcc~Y0xcd0x0a0xa30x180xf0j0xd0[0xd5Q{O0xc8PA ]. HTTP method names must be tokens 이번에 간단한 Todo 앱을 구현해보고 todobackend라는 사이트(http://www.todobackend.com/)에서 테스트를 해보려다가 만난 에러를 소개한다. 원인 https를 받아들이지 준비가 안된 서버에 https 요청이 들어왔을 경우 발생한다. 내가 구현해 놓은..

    Java - String 메소드 총정리!

    계속 추가중입니다. split() 지정된 분리자(regex)를 기준으로 문자열을 자르고 문자열 배열에 담아 반환해주는 메서드 String[] split(String regex) String[] split(String regex, int limit) 분리자(regex)으로 문자열 패턴을 받고, 패턴과 동일한 문자열을 기준으로 잘라준다. limit은 문자열을 나눌 수 있는 최대 개수이다. 예제 String str = "010-1234-5678-9101"; String[] result1 = str.split("-"); String[] result2 = str.split("-", 2); String[] result3 = str.split("-", 3); //결과 result1 = [010, 1234, 5678,..

    IntelliJ Error - finished with non-zero exit value 1 해결 방법

    Execution failed for task ':Application.main()'. > Process 'command 'JDK경로/bin/java.exe'' finished with non-zero exit value 1 이번에 소개할 에러는 finishi with non-zero exit value 1 이 녀석이다. Intellij, Gradle 환경에서 Spring 코드를 실행한 후 해당 에러를 만났다. 해결 방법 [File > Settings > Build, Excution, Deployment > Build Tools > Gradle] 이 경로로 이동 [Build and run using]과 [Run tests using]을 IntelliJ IDEA로 변경 [Gradle JVM] 버전을 현재 ..

    Spring - PortInUseException: Port 8080 is already in use 원인과 해결방법

    org.springframework.boot.web.server.PortInUseException: Port 8080 is already in use 오늘 소개할 친구는 PortInUseException: Port 8080 is already in use 요 녀석이다. SpringMVC를 연습하던 중 로컬을 확인하기 위해 실행하다가 만난 에러다. 사실 이전에도 한 번 만난적 있는데 생각보다 자주 만나게 되서 블로그에 남기기로 했다. 원인과 해결방법 모두 생각보다 간단하다. 원인 원인은 2가지 정도로 볼 수 있다. 이미 사용중인 포트를 다른 애플리케이션에서 사용하려고 할 때 IDE에서는 프로세스가 종료되었지만 실제로 프로세스가 종료되지 않고 계속해서 실행중일 때 보통 두 번째 이유때문에 해당 에러가 발생한..

    Java - ArrayIndexOutOfBoundsException 원인과 해결법

    원인정해진 배열의 크기보다 크거나 음수 index에 대한 요청이 있으면 ArrayIndexOutOfBoundsException이 발생한다.배열의 index는 1부터 시작하는 것이 아닌 0부터 시작한다. 배열의 크기를 n이라고 한다면 index는 1부터 n까지가 아닌 0부터 n-1까지인 것이다. 보통 이 부분에서 해당 예외가 많이 발생하는 것 같다.ArrayIndexOutOfBoundsException은 자바 컴파일러에서 검사하지 않고 실행을 시켜야 알 수 있다.int[] arr = new int[5] // arr의 범위는 arr[0] ~ arr[4]로 총 5개의 인덱스를 생성arr[5] = 5; // arr[5]는 존재하지 않기 때문에 예외 발생!// 결과Exception in thread "main" ..