본문 바로가기

JAVA

(16)
null 값을 관리할 수 있는 class : Optional<T> Optional Java8부터 null 값을 깔끔하게 처리할 수 있도록 Optional 클래스가 추가됐다. Optional opt = Optional.ofNullable("자바 Optional 객체"); System.out.println(opt.get()); 참조 변수의 값이 null이 될 가능성이 있으면 Optional 객체를 생성하는 것이 편리하다. .ofNullable() 메소드를 통해 명시된 값이 null 이면 비어있는 Optional 객체 반환, null이 아니면 값을 가지는 Optional 객체를 반환한다. Method .isPresent() : 값이 null인지 여부 => 존재한다면 true, null값이라면 flase 반환 .ifPresent() : 람다식을 인자로 받아서, 값이 존재할 때..
클래스, 객체, 인스턴스가 뭐에요? 클래스 : 일종의 설계도, 각각의 기능과 성능을 정의해놓은 것 (설계도일 뿐, 실제로 작동하지는 않음) => 붕어빵 틀, 핸드폰의 설계도 객체 : 구현해야할 대상 => 붕어빵, 핸드폰(S20, IphoneSe2) , 붕어빵, 핸드폰이 가져야할 기능과 성능을 클래스에서 정의 인스턴스: 클래스를 통해서 구현해야할 대상(객체)이 실제로 구현된 구체적인 실체 실제로 메모리로 할당 ex) 팥붕어빵과 슈크림붕어빵은 같은 타입의 객체지만 인스턴스의 관점으로 봤을 때는 다르다. ex) S20과 IphoneSe2는 같은 핸드폰이라는 틀에 있지만 다른 핸드폰이므로 다르다. 참조: https://blog.naver.com/PostView.nhn?blogId=good_ray&logNo=222069343755 [Java] 클래..
자주 쓰이는 정규식 패턴 자주 쓰이는 정규식 패턴 숫자 ^[0-9]*$ 영문자 ^[a-zA-Z]*$ 한글 ^[가-힣]*$ 영어&숫자 ^[a-zA-Z0-9]*$ 비밀번호 (숫자, 문자 포함의 6~12자리 이내) ^[A-Za-z0-9]{6,12}$ 비밀번호 (숫자, 문자, 특수문자 포함 8~15자리 이내) ^.(?=^.{8,15}$)(?=.\d)(?=.[a-zA-Z])(?=.[!@#$%^&+=]).*$ 이메일 ^0-9a-zA-Z@0-9a-zA-Z.[a-zA-Z]{2,3}$ 휴대전화 ^\\d{3}-\\d{3,4}-\\d{4}$ 일반전화 ^\\d{2,3}-\\d{3,4}-\\d{4}$ 주민등록번호 \d{6} \- [1-4]\d{6} 파일확장자 ^\\S+.(?i)(txt 이중 파일확장자 (.+?)((\\.tar)?\\.gz)$ 참고자료 ..
JAVA 버전 설정 ( 17 => 11) 우아한테크코스 5기 프리코스를 지원했다. 11버전에서 꼭 돌아가야하기 때문에 버전을 다운그레이드 해 줄 필요가 있다. 현재 멋쟁이사자처럼에서 주로 쓰던 버전은 17버전이라 11버전으로 변경해줘야 한다. https://www.oracle.com/java/technologies/downloads/#java11-windows Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 일단 java11버전을 다운받는다. 다운받았으면 환경변수 설정에 들어가서 바꿔주면 끝이다. 시스..
20자리 랜덤 문자열 생성 (AccessKey 만들 때) 랜덤 문자열 생성 (AccessKey 만들 때) import java.util.Random; public class MyClass { public static void main(String args[]) { String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; int strLength = str.length(); Random random = new Random(); StringBuffer randomStr = new StringBuffer(); for (int i = 0; i < 20; i++) { randomStr.append(str.charAt(random.nextInt(strLength))); } System.o..
문자열 배열 길이 순으로 정렬하기 (Comparator) 문자열 배열 길이 순으로 정렬하기 (Comparator) //문자열 정렬 원하는 조건으로 하기 //목표 조건 : 문자열의 길이 순으로 정렬 String[] words = {"abcdefc" , "av", "ddd" , "asdf"}; Arrays.sort(words , new Comparator(){ public int compare(String o1, String o2){ return o1.length()-o2.length(); } }); System.out.println("words = " + Arrays.toString(words)); //출력: words = [av, ddd, asdf, abcdefc] //일반 sort : words = [abcdefc, asdf, av, ddd] 아직 자유롭게 ..
10진수 => 2진수 10진수 (int) => 2진수 (String) //10진수 => 2진수 Scanner sc = new Scanner(System.in); int X = sc.nextInt(); String binaryNumber = Integer.toBinaryString(X);
고차원 배열 출력 고차원 배열 출력 //고차원 배열 출력 Arrays.deeptoString(maps); maps 가 1차원 배열이 아닌 2차 , 3차 , ... n차 배열인 경우 Arrays,deeptoString 을 통해서 쉽게 출력할 수 있다.