toUpperCase & trim

📑문제

⭕정답

11

🔍풀이

package jokun.KH.test0630;

import java.util.Arrays;

public class Ex01 {
    public static void main(String[] args) {
        int a = 1;
        int b = Arrays.asList(100, 200).size();
        int c = Long.valueOf(3L).intValue();

        if (a + b == c && (c - a) % 2 ==0){
            System.out.println(method1()[0]);
        }
    }

    private static String[] method1() {
        String[] array = new String[1];
        StringBuilder sb = new StringBuilder();

        sb.append("1 ".trim());
        sb.append(sb.toString().toUpperCase());
        array[0] = sb.toString();

        return array;
    }
}

 

 

 

private & getter/setter

📑문제

⭕정답

AA

🔍풀이

사실 자식 클래스에 public이 붙어있으면 부모 클래스 바로 밑에 클래스를 작성할 수 없고, 해당 클래스 이름으로 된 .java파일이 있어야 한다. 그리하여 문제 코드대로 쓰면 컴파일 에러가 뜨기에 public을 제외하고 class로 작성한 경우로 풀어보기로 함!

package jokun.KH.test0630;

public class Ex02 {
    private static String str1 = "A";
    public static String concatStr(String str1, String str2) {
        return new StringBuilder()
                .append(str1)
                .append(str2)
                .toString();
    }
    public static String getStr1() {
        return str1;
    }
}

class Ex02_1 extends Ex02 {
    public static void main(String[] args) {

        getStr1().toLowerCase();
        Ex02_1 instance = new Ex02_1();
        instance.method1();
    }

    private void method1() {
        System.out.println(concatStr(getStr1(),getStr1()));
    }
}

 

 

 

 

LocalDateTime &getYear

📑문제

⭕정답

2020

🔍풀이

package jokun.KH.test0630;

import java.time.LocalDateTime;
import java.util.function.Predicate;

public class Ex03 {
    public static void main(String[] args) {
        LocalDateTime ldt1 = LocalDateTime.of
                (2020, 01, 01, 12, 34, 56);

        if (!isLocalDateTime(ldt1)){
            return;
        }

        if (!isLocalDateTime(ldt1)){
            System.exit(1);
        }
        System.out.println(ldt1.getYear());
    }
    public static boolean isLocalDateTime(LocalDateTime ldt){
        Predicate<LocalDateTime> pridicate = new Predicate<LocalDateTime>() {
            @Override
            public boolean test(LocalDateTime e) {
                return e instanceof LocalDateTime;
            }
        };
        return pridicate.test(ldt);
    }
}

 

 

 

 

Optional & ofNullable & ofElse

📑문제

⭕정답

output

🔍풀이

package jokun.KH.test0630;

import java.util.HashMap;
import java.util.Optional;

public class Ex04 {
    public static void main(String[] args) {
        HashMap<Object, String> map = new HashMap<>();
        
        map.put(1L, "A");
        map.put(null, "b");
        map.put("String", null);
        
        Ex04 instance = new Ex04();
        instance.method1(map.get("String"));
    }

    public void method1(Object object) {
        Optional<Object> a = Optional.ofNullable(object);
        System.out.println(a.orElse("output"));
    }
}

 

 

 

 

Consumer & accept()

📑문제

⭕정답

12

🔍풀이

package jokun.KH.test0630;

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

public class Ex05 {
    private Long a;
    public Long getA() {return a;}
    public void setA(Long a) {this.a = a;}
}

public class Ex05_1{
    public static void main(String[] args) {
        
        Ex05 a = new Ex05();
        Ex05 b = new Ex05();
        
        a.setA((long) 1);
        a.setA(Long.valueOf(2));
        
        List<Ex05> list = Arrays.asList(a, b);
        method1(list);
    }

    public static void method1(List<Ex05> list) {
        list.forEach(new Consumer<Ex05>() {
            @Override
            public void accept(Ex05 object) {
                System.out.print(object.getA());
            }
        });
    }
}

Consumer  : 함수형 인터페이스 
리턴값이 없는 accept() 메서드를 가지고 있다.
매개 값(인자)을 받아서 소비(처리)하는 역할만 하며, 사용만 하고 리턴 값이 없다.

인터페이스 추상 메서드 설명
Consumer<T> void accept(T t) 객체 T를 받아 소비

람다랑 같이 쓰면 찰떡!

 

 

 

복사했습니다!