본문 바로가기
반응형

개발/java13

java.lang.nullpointerexception 오류 예방 1. try ~ catch 문 사용 String name = null; try { if (name.equals("hitomis")) { System.out.println("name is " + name); } } catch (Exception e) { System.out.println("Exception!"); } 2. 사용전에 null 여부 비교문을 사용 String name = null; if (name != null) { if (name.equals("hitomis")) { System.out.println("name is " + name); } } 4. 문자열 비교 시 "".equals 문 사용 String name = null; /* 기존 */ if (name.equals("hitomis")) .. 2023. 3. 28.
Java Generics Class generic type ClassGenericType classGenericType = new ClassGenericType(); /** * 클래스 내에 타입이 선언되어야 한다 * */ class ClassGenericType { // static 필드는 제너릭 타입을 가질 수 없다 // private static T t; private T t; public void set(T t) { this.t = t; } public T get() { return t; } } Interface generic type /** * 는 abstract method의 제너릭 타입을 다르게 주고 싶을 때 사용 이런식으로 사용 */ interface InterfaceGenericType { T1 doSomethin.. 2022. 2. 25.
Stream 예제 Stream 1.자바 8에서 추가한 스트림(Streams)은 람다를 활용할 수 있는 기술 중 하나 2.자바 8 이전에는 배열 또는 컬렉션 인스턴스를 다루는 방법은 for 또는 foreach 문을 돌면서 요소 하나씩을 꺼내서 다루는 방법 3.간단한 경우라면 상관없지만 로직이 복잡해질수록 코드의 양이 많아짐 예제 문자 배열에 특정 값을 찾아서 출력 문자 배열 List stringArrayList = new ArrayList( Arrays.asList("a", "b", "c", "d", "e", "f") ); Iterator 사용 /* Iterator 사용 */ System.out.println("Iterator use"); Iterator iterator = stringArrayList.iterator();.. 2022. 2. 6.
JSch를 사용한 JAVA SFTP 업로드 다운로드 예제 (개인키, 패스워스) java에서 sftp를 사용하기 위해서는 apache common vfs를 사용하거나, jsch 사용하는 방법이 있다. jsch 라이브러리를 사용하면 쉽게 개인키나 패스워드를 사용하여 sftp에 접속할 수 있고, 업로드나 다운로드를 할 수 있다. maven repository https://mvnrepository.com/artifact/com.jcraft/jsch 개인키, 공개키 생성 sftp 접속 시 아이디와 패스워드를 사용하지 않고, 아이디와 개인키, 공개키를 사용하면 보안에 좀 더 좋을 수 있다. (aws의 s3 ftp 사용시에도 키 파일을 이용하여 접속하라고 권고하고 있다.) 1. 접속하려는 클라이언트가 되는 서버에서 아래 명령으로 개인키, 공개키를 생성한다. ssh-keygen -P "" -m.. 2021. 8. 18.
현재 날짜 출력, 시간 원하는 형태로 출력, 날짜 포맷 현재 날짜 출력, 시간 원하는 형태로 출력, 날짜 포맷 ex) 2020-01-12 또는 2020-01-02 12:33:43 또는 2020년 1월 2일 3시 21분 22초 SimpleDateFormat을 활용하여 원하는 포맷을 지정 후 아래 3가지 클래스를 활용하여 출력할 수 있다. 방법1. Date 클래스 사용 방법2. Calender 클래스 사용 (Calendar.getInstance()) 방법3. System 클래스 사용 (System.currentTimeMillis()) package com.tistory.hitomis; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Te.. 2021. 1. 18.
System으로 연산 소요 시간 구하기 System 클래스를 사용하여 특정 작업 시간을 구할 수 있다. System.currentTimeMillis()는 1000분의 1초로 밀리세컨이라고 한다. 특정 작업 시작 전 현재 밀리세컨과 종료 후 현재 밀리세턴을 저장하고 빼기 후 나누기 1000을 하면 작업에 소요된 초를 구할 수 있다. 아래 예제는 String과 StringBuffer에 문자열을 각각 10만번씩 더한 작업의 소요 시간을 출력하는 예제이다. package com.tistory.hitomis; public class SystemClassTest { public static void main(String[] args) { // String과 StringBuffer를 선언한다. String string = ""; StringBuffer s.. 2021. 1. 18.
반응형