프로그래밍 노트/JAVA

파싱(Parsing) String으로 표현된 날짜형식을 LocalDate, LocalDateTime 으로 변환시켜준다. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); LocalDate localDate = LocalDate.parse("2024.05.21", formatter); DateTimeFormatter를 설정해 주지 않으면 기본적으로 ISO_LOCAL_DATE 포멧터를 사용해서 파싱한다.(yyyy-MM-dd 형식) 포멧팅(Formatting) 날짜형식을 문자열로 변환시키켜준다. LocalDateTime now = LocalDateTime.now(); DateTimeFormatter dateTimeFormatter..
Format 클래스 형식 클래스는 java.text 패키지에 포함되어 있다. 숫자 형식 : DecimalFormat 날짜 형식 : SimpleDateFormat 문자열 형식 : MessageFormat 숫자 형식 클래스(DecimalFormat) DecimalFormat df = new DecimalFormat("#,###.0"); String result = df.format("1234567.89"); 기호 의미 패턴 예 1234567.89 변환결과 0 10진수(빈자리는 0으로 채움) 0 0.0 0000000000.0000 1234568 1234567.9 0001234567.8900 # 10진수(빈자리는 채우지 않음) # #.# ##########.#### 1234568 . 소수점 #.0 1234567..
Class 클래스 자바는 클래스와 인터페이스의 메타데이터를 java.lang 패키지에 소속된 Class 클래스로 관리한다. (메타 데이터 : 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보) Class 객체 얻기(getClass(), forName()) 최상위 클래스인 Object의 getClass()메소드를 이용해서 Class 객체를 얻을 수 잇다. // 해당 클래스로 객체를 생성했을 때 Class clazz = obj.getClass(); // 객체를 생성하기전 Class 객체 얻기 try{ Class clazz = Class.forName(String className); }catch(ClassNotFoundException e){ } 예제코드 package basic; public clas..
메소드 참조(Method References) 메소드를 참조해서 매개변수 리턴타입을 알아내어 람다식에서 불필요한 매개변수를 제거하는 것이 목적 정적 메소드와 인스턴스 메소드 참조 클래스::메소드 // 정적(static) 메소드 참조 참조변수::메소드 // 인스턴스 메소드 참조 예제코드) public class Calculator { public static int staticAdd(int x, int y){ return x+y; } public int instanceAdd(int x, int y){ return x+y; } } public class MethodReferences { public static void main(String[] args) { List strList = Arrays.asLis..
매개변수와 boolean 리턴값이 있는 testXXX() 메소드를 가지고 있다. 매개값을 조사해서 true 또는 false를 리턴하는 역할을 한다. public class PredicateExample { private static List numList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); public static int count(IntPredicate predicate){ int count = 0; for(int num : numList){ if(predicate.test(num)){ count ++; } } return count; } public static void main(String[] args) { int evenNumCount = coun..
Operator 함수적 인터페이스는 Function과 동일하게 매개 변수와 리턴값이 있는 applyXXX() 메소드를 가지고 있다. 하지만 이 메소드들은 매개값을 리턴값으로 매핑(타입 변환)하는 역할보다 매개값을 이용해서 연산을 수행한 후 동일한 타입으로 리턴값을 제공하는 역할을 한다. public class OperatorExample { private static int[] ages = {15, 20, 10, 50}; public static int maxOrmin(IntBinaryOperator operator){ int result = ages[0]; for(int age : ages){ result = operator.applyAsInt(result, age); } return result; }..
Function 함수적 인터페이스는 매개값과 리턴값이 있는 applyXXX() 메소드를 가지고 있다. 이 메소드는 매개값을 리턴값으로 매핑(타입 변환)하는 역할을 한다. 인터페이스명 추상 메소드 설명 Function R apply(T t) 객체 T를 객체 R로 매핑 BiFunction R apply(T t, U u) 객체 T, U를 객체 R로 매핑 DoubleFunction R apply(double value) double를 객체 R로 매핑 IntFunction R apply(int value) int를 객체 R로 매핑 IntToDoubleFunction double applyAsDouble(int value) int를 double로 매핑 IntToLongFunction long applyAsLong(..
Supplier 함수적 인터페이스는 매개값은 없고 리턴값이 있는 getXXX() 메소드를 가지고 있다. 이 메소드들은 호출한 곳으로 데이터를 리턴(공급)하는 역할을 한다. 인터페이스명 추상 메소드 설명 Supplier T get() T 객체를 리턴 BooleanSupplier boolean getAsBoolean() boolean 값을 리턴 DoubleSupplier double getAsDouble() double 값을 리턴 IntSupplier int getAsInt() int 값을 리턴 LongSupplier long getAsLong() long 값을 리턴 public static void main(String[] args) { IntSupplier intSupplier = () ->{ int n..
Consumer 함수적 인터페이스는 리턴값이 없는 accept() 메소드를 가지고 있다. Consumer는 단지 매개값을 소비하는 역할만 하며, 소비한다는 말은 사용만하고 리턴값이 없다는 뜻이다. 인터페이스명 추상 메소드 설명 Consumer void accept(T t) 객체를 T를 받아 소비 BiConsumer void accept(T t, U u) 객체 T, U를 받아 소비 DoubleConsumer void accept(double value) double 값을 받아 소비 intConsumer void accept(int value) int 값을 받아 소비 LongConsumer void accept(long value) long 값을 받아 소비 ObjDoubleConsumer void accep..
자바에서 한 개의 추상 메소드를 가지는 인터페이스들은 모두 람다식을 이용할 수 있다. Runnable 인터페이스도 마찬가지이다. Runnable runnable = () -> { ... }; Thread thread = new Thread(() -> { ... }); // Thread 생성자 호출 자바8부터 빈번하게 사용되는 함수적 인터페이스(functional Interface)는 java.util.function 표준 API패키지로 제공한다. java.util.function이 제공하는 functional Interface의 목적은 메소드 또는 생성자의 매개 타입으로 사용되어 람다식에 대입될 수 있다. 함수적 인터페이스는 크게 Consumer, Supplier, Function, Operator, P..
깡냉쓰
'프로그래밍 노트/JAVA' 카테고리의 글 목록 (3 Page)