[Java] nextLine() 오류
·
JAVA
[원인]Scanner 클래스 중 next()와 nextLine() 메서드를 함께 사용할 경우 오류가 생길 수 있다. 왜냐하면 next()  메소드는 개행문자(\n, \t)를 기준으로 입력을 구분하는데, nextLine() 메서드는 개행문자를 모두 포함하여 입력을 받기 때문이다.  그게 왜 문제냐 하면, 만약에 코드를 아래와 같이 만들었다면첫 번째 int number를 입력하고 엔터를 치던가 스페이스를 누르던 가 했을 때, 가상의 저장공간에 해당 개행이 남아있다가 뒤의 nextLine() 에 흡수되어 결과로 나오게 되기 때문이다. import java.util.Scanner;public class Main { public static void main(String[] args) { Sca..
[Java] 문자열을 반복하는 메서드 - repeat()
·
JAVA
str.repeat(n) Java 에서 repeat 메서드는 문자열을 특정 횟수만큼 반복하여 새 문자열을 생성하는 기능을 제공한다. Java 11버전부터 추가 되었다.  - n이 0 이거나 str이 비어있으면 빈 문자열이 반환 된다. - n이 음수이면  IllegalArgumentException 이 발생한다.  사용법[기존]   StringBuilder 와 for 문을 이용하여 구현 public class Main { public static void main(String[] args) { String str = "hennie"; int count = 3; StringBuilder result = new StringBuilder(); ..
CompletableFuture 에서 명시적인 값을 지정하기
·
JAVA
api 통신을 효율적으로 함으로써 화면을 부드럽게 그릴 수 있을까 하고 알아보다 자바에서 제공하는 인터페이스인 CompletableFuture라는 것을 알게 되었다.  내가 마주한 api 통신의 문제는 1. 많은 데이터 양이 통신 될 때 모든 통신을 기다려야 함. 2. 기다리는 동안 화면을 스크롤 할 시 버벅거림 같은 현상이었고 이를 해결하기 위해 사용하였다.  CompletableFuture 이전에는 Future 라는 게 있었지만, 1) 블로킹 호출 : 'Future.get()' 메서드를 호출하여 사용하면 해당 호출이 완료될 때까지 스레드가 블로킹되어 api 호출을 동시에 처리할 때 문제가 되었다. 2) 콜백 지원 부족 : Future는 완료 시 실행할 수 있는 콜백을 지원하지 않았다. 그래서 비동기작..
자바의 <T> 제네릭 타입 (Generic Type)
·
JAVA
제네릭(Generic)?자바 제네릭은 generic 타입 및 메소드를 정의하고 사용 할 수 있는 언어적 특성이다. List list = new ArrayList();Map map = new HashMap(); 위와같이 꺽쇠()안에 클래스 타입이 명시된 패턴을 자주 발견할 수 있다. 이걸 제네릭(Generic) 이라고 부르며, 제네릭 파라미터는 꺽쇠안에 포함하여 전달한다.파라미터 타입이나 리턴 타입에 대한 정의를 외부로 미룬다.타입에 대해 유연성과 안정성을 확보한다.런타임 환경에 아무런 영향이 없는 컴파일 시점의 전처리 기술 예시 public class Box { private T value; public Box(T value) { this.value = value; } ..
해니01_15
'JAVA' 카테고리의 글 목록 (4 Page)