스마트웹앱콘텐츠전문가/JAVA 63

Java 공백 제거 방법 총정리: 문자열 비교에서 오류를 피하는 법

Java에서 문자열 공백 제거와 비교 방법: trim(), replaceAll()과 compareTo() 활용  Java에서 문자열을 비교하거나 처리할 때, 공백은 종종 중요한 요소가 됩니다. 특히, 공백이 문자열의 앞뒤에 포함되어 있거나 중간에 있는 경우, 이를 무시하고 비교를 진행해야 할 필요가 있을 수 있습니다. 이 게시글에서는 Java 문자열 공백 처리 방법과 이를 비교할 때 발생할 수 있는 문제를 해결하는 방법을 소개합니다. 또한, MyBatis와 같은 프레임워크에서 문자열 비교 시 공백을 어떻게 처리해야 하는지에 대해서도 다루겠습니다.   Java에서 문자열 공백 제거의 중요성 문자열을 비교할 때 공백이 포함되어 있다면 의도한 대로 비교가 되지 않을 수 있습니다. 예를 들어, "03"과 "03..

@NotBlank를 사용한 유효성 검증: 빈 값과 공백 방지하기

@NotBlank 어노테이션에 대해 알아보자 Java에서 @NotBlank는 주로 Bean Validation API에서 사용되는 어노테이션으로, 문자열 값에 대해 유효성 검사를수행하는 데 사용됩니다.주로 Spring Framework나 JPA에서 유효성 검증을 할 때 유용하게 사용됩니다.@NotBlank는 주로 사용자 입력을 받는 필드가 비어있지 않은지 확인하는 데 사용되며,공백만 있는 문자열도 허용하지 않습니다.이 어노테이션의 사용 목적과 동작을 이해하는 것은 유효성 검증을 올바르게 수행하는 데 매우 중요합니다.  1. @NotBlank의 정의@NotBlank는 javax.validation.constraints.NotBlank 패키지에 속한 어노테이션으로, 해당 필드가 null이 아니며, 빈 문자열..

PostgreSQL 타입을 Java로 변환하는 법: 필수 매핑 목록

PostgreSQL 타입별 Java 타입 매칭 가이드Java와 PostgreSQL은 데이터베이스와 애플리케이션 간의 데이터 변환을 효율적으로 수행할 수 있도록 각기 다른 데이터 타입을 제공합니다. Java에서 PostgreSQL 데이터 타입을 올바르게 매핑하는 것은 중요한 부분입니다. 잘못된 매핑은 데이터의 손실이나 오류를 초래할 수 있습니다. 이번 글에서는 PostgreSQL의 주요 데이터 타입과 이에 대응하는 Java 타입을 소개하고, 각 타입을 어떻게 매칭할 수 있는지 설명하겠습니다.     1. 정수 타입 (Integer Types)PostgreSQL int2 (Smallint) → Java ShortPostgreSQL의 int2는 2바이트 크기의 부호 있는 정수입니다. 이에 대응하는 Java 타..

쿼리 파라미터와 경로 파라미터의 차이점과 활용법

BE 테스트케이스 작성 시, 게시글을 참고 하시면많은 도움이 될 것 같습니다.  쿼리 파라미터(Query Parameters) vs 경로 파라미터(Path Parameters)- HTTP 요청에서의 차이 API 설계에서 파라미터를 전달하는 방식은 매우 중요합니다. 클라이언트와 서버 간의 데이터 전송 방식은 API의 사용성과 직결되기 때문입니다. HTTP 요청에서 파라미터를 전달하는 방법에는 **쿼리 파라미터(Query Parameters)**와 **경로 파라미터(Path Parameters)**가 있으며, 두 방식은 각각 다른 방식으로 정보를 전달합니다. 본 글에서는 이 두 가지 방식의 차이점과 그 사용 사례를 알아보겠습니다. 1. 쿼리 파라미터(Query Parameters)쿼리 파라미터는 URL의 쿼..

[JAVA]Boolean null 처리

외부 데이터 연동 시,Boolean 타입의 변수가 null로 오는 경우가 있습니다.  ... 뭐... 뭘까???   이럴 때,Boolean에 대한 null 예외 처리하는 로직이 없다면,당연히 null exception이 나오게 되겠죠.    고뤠서,   아주 간단하게 이를 해결할 수 있는 방법을 소개할까 합니다.  ○ BooleanUtils   사용방법은 이렇습니다. import org.apache.commons.lang3.BooleanUtils;~~Boolean testVal;~~if(BooleanUtils.isTrue(testVal)){ //testVal가 true일 때 실행o //null, false일 때 실행x}      BooleanUtils.isTrue() 면 끝입니다.(이외에도 i..

[JAVA]LIST + LIST = LIST 해보자

안녕하세요. 원더보이 입니다. 개발하면서 한번 쯤은 고민하셨을거라 생각이 되는데요. 리스트끼리 합칠 수는 없을까? OR 중복된 거는 깔끔하게 하나만 남기고 깔끔하게 리스트끼리 합칠 수 없을까? JAVA Stream API를 활용하여 깔끔하게 합칠 수 있습니다. List list1 = new ArrayList(); List list2 = new ArrayList(); // list1과 list2에 데이터 추가 List combinedList = Stream.concat(list1.stream(), list2.stream()) .distinct() .sorted() .collect(Collectors.toList()); //두 개의 List를하나로 합치고 중복을 제거한 후, 정렬을 적용 Stream.conc..

[JAVA]문자열을 배열로 만들기 해보자!

안녕하세요. 원더보이입니다. 반복되는 패턴을 가진 문자열을 문자열 배열로 바꿀 수 있는 방법을 알려드립니다. 예시) 011| 012 | 013 -> {011, 012, 013} ※ String.split() 메소드를 사용하는 방법 String input = "011|012|013"; String[] output = input.split("\\|"); //실행 결과는 output 변수에 {"011", "012", "013"} 배열이 저장 input 변수에 입력 문자열을, output 변수에 분리된 문자열을 저장합니다. split() 메소드 는 인자로 전달된 구분자를 기준으로 문자열을 분리합니다. 여기서는 \\|를 구분자로 사용했습니다. (\\는 정규 표현식에서 |를 문자 그대로 인식하도록 합니다.) 참 쉽..

[JAVA]서버에서 RequestBody 읽기

이번 포스팅은 API 통신으로 전송된 RequestBody를 읽는 방법에 대해 알아보겠습니다. 여러가지 방법이 있겠지만, 간단하게 사용하는 방법은 다음과 같은 방법이 있겠습니다. InputStream is = req.getInpuStream(); //HttpServletRequest req BufferedReader bfr = new BufferedReader(new InputStreamReader(is, "UTF-8")); //내용에 한글이 포함된 경우라면, InputStreamReader 캐릭터셋을 UTF-8로 설정 //또는 new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)) 도 가능 System.out.println("내용 읽..

대소문자관련처리

[ 대소문자 변환 ] ○ 문자열을 모두 대문자로 변경 : toUpperCase() String str = "Apple"; System.out.println(str.toUpperCase()); ==> APPLE ○ 문자열을 모두 소문자로 변경 : toLowerCase() String str = "Apple"; System.out.println(str.toLoowerCase()); ==> apple [ 대소문자 비교 ] ○ 대소문자를 구분하여 비교 : equals() String str = "Apple"; System.out.println("apple".equals(str)); ==> false ○ 대소문자 구분없이 비교 : equalsIgnoreCase() String str = "Apple"; Syste..

파일 리스트 출력

특정 디렉토리의 파일 리스트를 출력하는 방법을 소개합니다. ※ File 클래스의 메소드 사용. - llistFiles() : 특정 디렉토리의 파일 리스트 출력 File dir = new File("/home/test") File files[] = dir.listFiles(); for(File f : files){ System.out.println(f.getName()); } - listFiles(FilenameFilter filter) or listFiles(FileFilter filter) : 특정 디렉토리의 파일 리스트 출력(필터로 걸러지는 파일 리스트 출력) //필터 : 파일명에 'test'가 포함된 파일 File dir = new File("/home/test"); FilenameFilter fi..