필드 어떠한(객체) 데이터를 제공하기 위한 역할을 한다. -필드: 클래스 안에서 선언되는 변수 -지역변수: 메소드, 블록{} 안에서 선언되는 변수 public class Test { // 필드선언 위치 String str; public static void main(String[] args) { Test a = new Test(); a.b(); } public Test() { // 생성자 } public void b() { // 메소드 String v; System.out.println(v); // ERROR -> 지역변수 v는 자동으로 초기화되지 않기때문이다. String str = "JAVA"; System.out.println(str); // 지역변수 str (전역변수 str이 아닌 지역변수 str..
JAVA 인스턴스 생성 클래스명 객체변수명 = new 클래스명(); Test a = new Test(); 필수적으로 많이 사용하는 코드이지만 이 한줄을 선언함으로써 어떠한 일들이 일어나는지 생각해본적이 없었다. 가장중요한건 이러한 기본지식도 알아야 JAVA 공부를 하는데에 훨씬 많은 도움이 될 것이다. 우선 위 코드는, 인스턴스(객체) 생성시 사용하는 코드이다. 선언된 객체변수 a는 참조값을 갖게된다. new 연산자란? 클래스 타입의 인스턴스(객체)를 생성해주는 역할을 한다. new 연산자를 통해 메모리(Heap) 영역에 데이터를 저장할 공간을 할당받는다. 그 공간의 주소값을 객체변수 a에게 반환해주고 생성자를 호출하게 된다. 생성자란? 인스턴스 변수(필드)들을 초기화해주고 위 예제처럼 선언되어있지 않으..
I/O 스트림 - 바이트 단위로 데이터를 전송한다. - 실제의 입력과 출력이 표현된 데이터의 흐름이다. - 운영체제에 의해 생성되는 가상의 연결고리 역할을 수행한다. - 출력과 입력의 중간매개체 역할을 한다. - 스트림을 한 방향으로만 통신이 가능하여 입력과 출력을 동시에 실행할 수 없다. - 사용목적에 따라 입력스트림, 출력스트림을 구분한다. (1) 입출력 스트림 입력: InputStream read() return : int -> 더이상 읽어들일 바이트가 없으면 -1을 반환한다. 출력: OutputSTream write() return: void (2) 바이트 기반 스트림 파일 입력: FileInputStream 출력: FileOutputStream 메모리 입력: ByteArrayInputStream..
Arraylist -> 배열 변환 ArrayList files을 MultipartFile[] multiFIles로 변환해보자. MultipartFile[] multiFiles = new MultipartFile[files.size()]; int size = 0; for (MultipartFile file : files) { multiFiles[size++] = file; }
콤마(,)로 구분된 String을 배열로 변환하기 long[] array; try { array = Arrays.stream(custCorpIdxList.split(",")).mapToLong(Long::parseLong).toArray(); } catch (Exception e) { // error 처리 } String a = "1,2,3,4,5" 결과 : long[] array = [1,2,3,4,5] 여기서, 배열의 타입은 원하는 타입으로 선언하면 된다.
삼항연산자 this.a == 1 ? "a가 1일경우 실행" : "a가 1이 아닐경우 실행"; (1) ? (2) : (3) (1)의 조건이 true이면 (2)를 반환 (1)의 조건이 false이면 (3)을 반환
git branch 목록 조회 git branch git branch 생성 git branch 브랜치명 git branch 생성 후 해당 branch로 이동 git checkout -b 브랜치명 git branch 삭제 git branch -d 브랜치명 git branch명 수정 git branch -m 기존 브랜치명 수정할 브랜치명 Git 원격 저장소 URL 을 변경 git remote set-url origin 변경할 URL Git 원격 저장소 URL 을 조회 git remote -v
에러 발생 Poi 라이브러리를 사용하여 엑셀 다운로드 개발을 하는 도중, 다운로드된 파일을 열때마다 에러가 발생하였다. [파일명]에 읽을 수 없는 내용이 있습니다. 이 통합 문서의 내용을 복구하시겠습니까? 이 통합 문서의 원본을 신뢰할 수 있는 경우 [예]를 클릭하십시오. 이 상태로 [예]를 누르게 되면 파일이 열리면서 아래 메세지가 적힌 팝업이 뜹니다 [파일명.xlsx](으)로 복구 읽을 수 없는 내용을 복구하거나 제거하여 파일을 열 수 있습니다. [복구] 버튼을 누르면 엑셀파일은 알맞게 생성되었지만 열때마다 뜨는 경고창을 해결해야했다. 해결 Before response.setHeader("Set-Cookie", "fileDownload=true; path=/"); response.setHeader("..
StringUtils if (StringUtils.isEmpty(test)) { test변수가 빈문자열인지, NULL인지 StringUtils 클래스의 isEmpty 메소드를 통해 검사한다. 해당 isEmpty를 보기위해 StringUtils 클래스 파일을 읽어보았다. /** * Check whether the given object (possibly a {@code String}) is empty. * This is effectively a shortcut for {@code !hasLength(String)}. * This method accepts any Object as an argument, comparing it to * {@code null} and the empty String. As a ..
IFNULL 함수 IFNULL((SELECT col1 FROM test WHERE idx = 1), '테스트 완료') IFNULL 함수(조건1, 조건2) - 조건 1의 값이 NULL 이면 조건 2를 출력 - 조건 1의 값이 NULL이 아니면 조건 1의 값을 출력
case~when~then 문 CASE col1 WHEN 'a' THEN '햄버거' WHEN 'b' THEN '피자' END AS food CASE~THEN~WHEN 문은 위 예제 한줄로만 봐도 충분히 이해가 가능하다. CASE 컬럼이 WHEN 해당 값이라면, THEN 해당 값으로 변경한다. CASE ~ WHEN ~ THEN ~ WHEN ~ THEN ~ ELSE '' END -> ELSE를 사용하여 나머지 값들도 설정해줄수 있다. 또는, CASE WHEN col1 = 'a' THEN '햄버거' 라고도 할 수 있다.
해당 날짜의 몇 달 후 날짜 구하기 DateTimeFormatter DATE_FORMAT = new DateTimeFormatterBuilder() .appendPattern("uuuu-MM-dd HH:mm:ss") .toFormatter(); LocalDateTime startDateTime = LocalDateTime.parse(startDate, DATE_FORMAT); DateTimeFormatter, LocalDateTime 클래스를 사용한다. startDateTime.getMonth().plus(1) plus 메소드를 사용하여 해당 숫자만큼 더해진 월을 구할 수 있다. (ex, 1월 -> plus(3) -> 4월)