이것저것/Java

Java를 사용하면서 겪은 이슈 정리
·이것저것/Java
사용 예시Arrays.sort(arr, new Comparator(){ @Override public int compare(String s1, String s2){ if (s1.length() > s2.length()) return 1; else if (s1.length() 설명sort() 함수에 Comparator 객체를 인자로 전달여기서 Comparator의 compare() 함수를 재정의compare() 함수는 2개의 값을 인자로 받으며, 아래와 같은 리턴값을 가진다.앞의 인자값이 먼저 정렬되는 경우: 1(양수)뒤의 인자값이 먼저 정렬되는 경우: -1(음수)둘의 정렬 순서가 같은 경우: 0
·이것저것/Java
서론인텔리제이에서 프로젝트를 생성하려고 하면 Maven Archetype과 JavaFX 를 고를 수 있다.두개의 차이를 정리하는 글을 쓰고자 한다.Maven Archetype용도프로젝트의 기본 골격을 제공웹, 서버 구성에 특화된 구조빌드 자동화 및 의존성 관리에 유용함주요 기능프로젝트 의존성 관리빌드 자동화테스트 환경 제공*적합한 사용 케이스웹 애플리케이션 개발REST API 서버 개발다양한 라이브러리 및 의존성을 참조하는 프로젝트프로젝트 구조project/├── pom.xml├── src/│ ├── main/java/│ ├── main/resources/│ └── test/java/JavaFX용도GUI 애플리케이션 개발데스크탑 애플리케이션 개발사용자 인터페이스 컴포넌트와 이벤트 처리 제공주요..
·이것저것/Java
01. Scanner, print() 의 문제점Scanner와 println() 메소드는, 입출력 사항이 있을때, 매번 수행한다.이때, input, output 장치의 상호작용 속도는 매우 느리다.그래서 알고리즘 문제를 풀 때 등, 위의 방법을 사용하여 입출력을 구현하면 성능이 매우 떨어진다.이를 위해서 BufferedReader, BufferedWriter를 사용하여 입출력 속도를 높일 수 있다.이는 버퍼를 사용하는 방식으로, 입출력을 그때마다 적용하는게 아니라 버퍼에 모아두었다가 한번에 적용시키기 때문에 속도가 증가한다.02. BufferedReader 사용법버퍼 생성BufferedReader br = new BufferedReader(new InputStreamReader(System.in));라인..
·이것저것/Java
자바에서 Karlo API를 사용하던 중, 리턴받은 이미지 URL을 로컬 파일로 저장하는 기능을 구현해야 할 필요가 생겼다.다행히 자바의 Files.copy() 메소드를 사용하여 해당 기능을 쉽게 구현 가능했다.test.javapublic void saveImageUrl(String imgUrl, String savePath) throws IOException { InputStream inputStream = new URL(imgUrl).openStream(); Files.copy(inputStream, Path.of(savePath)); }- 결과아주 잘 저장 되었다.Reference[Java] URL로 부터 File Download 하는 방법
·이것저것/Java
Spring Boot 공부하면서 사용한 Optional 메소드들 정리새로 사용한 메소드가 나오면 업데이트✨ 빈 Optional 객체 생성Optional Optional.empty();✨ 객체를 감싸는 Optional 반환Optional Optional.of(Object);절대 비어있지 않은 Obj일 경우Optional Optional.ofNullable(Object);Object가 Null일 가능성도 있을 경우✨ Optional에서 객체 꺼내기Generic Data optionalObj.get();optional에서 데이터 반환, 데이터 없으면 NoSuchElementException 발생Generic Data optionalObj.orElse(val);optional이 null을 감싸고 있을 경우 va..
·이것저것/Java
1. 우측 상단의 돋보기 클릭 및 Add Framework Support 검색+++ 원래는 프로젝트 우클릭하면 해당 탭이 보인다는데, 왜인지 나는 안보여서 돋보기에 검색했다. 2. Maven 체크 및 OK 3. 결과 그러면 pom.xml 파일이 생성되면서, 메이븐 프로젝트로 변경된 것을 확인할 수 있다.