public <T extends Number, U extends Number> void calculate(T num1, U num2, OperatorType sign) { double doubleNum1 = num1.doubleValue(); double doubleNum2 = num2.doubleValue(); result = sign.apply(doubleNum1, doubleNum2); }
<T extends Number, U extends Number>num1.doubleValue();| 목적 | int | double |
|---|---|---|
| 문자열 → 기본형 | Integer.parseInt() | Double.parseDouble() |
| 문자열 → 객체 | Integer.valueOf() | Double.valueOf() |
| 기본형 → 문자열 | String.valueOf() | String.valueOf() |
result = sign.apply(doubleNum1, doubleNum2); }public ArrayList<String[]> getBiggerData(double threshold){ return data.stream() .filter(v -> Double.parseDouble(v[3]) > threshold) .collect(Collectors.toCollection(ArrayList::new)); }
data.stream(): data를 펼쳐서 봄
.filter(v -> Double.parseDouble(v[3]) > threshold)
: v에 v의 4번째 열이 threshold보다 큰 걸로 필터링
ArrayList::new = () -> new ArrayList<>()
: 필요할때마다 새로운 ArryList 생성
.collect(Collectors.toCollection());
: 이 () 타입의 컬렉션으로 만들어 담음
아직 익숙하지도 않으면서 2차원배열에 욕심냈더니 어렵고 오래걸렸다
아직 이해 못하고 넘어간것도 산더미..
그래도 가장 헷갈렸던 코드는 다 뜯어봤네

오늘의 플로우차트 연습
간단하게 1부터 10까지 반복해서 출력하는 형태!