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

[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..

Calendar를 이용한 날짜 판별

Calendar를 이용하여 현재 날짜 조회 및 현재 날짜 기준으로 일주일 전 날짜(한 달전 날짜) 조회 하는 방법을 소개하겠습니다. 1. 현재 날짜 구하기 Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); //날짜 형식을 지정하기 위함. String today = sdf.format(c.getTime()); System.out.println("오늘 날짜 : " + today); 2. 일주일 전 날짜 구하기 Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); c.add(c.D..