Boxing 과 Unboxing

이동규·2023년 6월 8일

JAVA

목록 보기
6/7

Wrapper class란 무엇인가

데이터 --> 객체는 boxing이라 부르고

객체 --> 데이터는 unboxing이라 부른다.

동적 배열 심화 버전

 ArrayList <ArrayList<Integer>> arr =new ArrayList<>(Collections.nCopies(3,new ArrayList<>()));//Arraylist를 넣는 배열 생성하고 초기화 값을 size3개와 value는 Array List
        for (int i = 0; i < arr.size(); i++) {
            arr.get(i).add(3);
        }
        for (int i = 0; i < arr.size(); i++) {
            System.out.println(arr.get(i).get(0));
        }

객체를 저장하는 배열을 만들 수 있다.

 class Man{
    String name = "이동규";
    int age =  26;
 } 

public class arr {
    public static void main(String[] args) {
    Man [] arr = new Man [3];
    for (int i = 0; i < arr.length; i++) {
        arr[i] =  new Man();
    }
    System.out.println(arr[0].age);
}
}

제네릭타입 T와 와일드카드의 차이점

제네릭T: 타입은 모르지만 그 타입이 정해지면 그 타입의 특성에 맞게 사용한다.

와일드카드: 무슨타입인지도 관심없고 타입의 확정시키지 않고 가능성을 남겨둔다. (전형적인 시크남)

List<?> list; 
/*
1. 원소를 꺼내 와서는 Object에 정의되어 있는 기능만 사용하겠다. equals(), toString(), hashCode()… 
2. List에 타입이 뭐가 오든 상관 없다. 나는 List 인터페이스에 정의되어 있는 기능만 사용하겠다. 
size(), clear().. 단, 타입 파라미터와 결부된 기능은 사용하지 않겠다! add(), addAll() 
*/
List<T> list; 
/*
1. 원소를 꺼내 와서는 Object에 정의되어 있는 기능만 사용하겠다. equals(), toString(), hashCode()… 
2. List에 타입이 뭐가 오든 상관 없다. 나는 List 인터페이스에 정의되어 있는 기능만 사용을 하고, 타입 파라미터와 결부된 기능도 사용하겠다.
*/

0개의 댓글