# 리뷰: 로또 번호 생성
ArrayList의 <>에 들어갈 객체 타입이라는게 뭔지 잘 모르겠는데, 어떤 값을 참고해서 기입해 줘야 하나요?
#### CODE <a class='btn btn-default' href='/codes/56518'>Link</a>
```
import java.util.Collections;
import java.util.Arrays;
import java.util.ArrayList;
public class SimpleLottoMachine {
public static void main(String[] args) {
// 45개의 공을 만든다
ArrayList <Integer> balls = new ArrayList <Integer>();
for (int i = 1; i <= 45; i++){
balls.add (i);
}
// 섞는다
Collections.shuffle(balls);
// 뽑는다
int [] picked = new int [6];
for (int i = 0 ; i < 6; i++){
picked[i]=balls.get(i);
}
// 결과 출력
System.out.printf ("자동 생성 번호: %s", Arrays.toString(picked));
}
}
```
#### INPUT
```
```
#### OUPUT
```
자동 생성 번호: [13, 18, 10, 36, 39, 1]
```
sehongpark님의 답변
### 제네릭(꺽쇠 <>) 안에 저장할 객체의 타입은
클래스 또는 인터페이스를 넣으면 됩니다.
예를 들어,
"문자열"이나 "정수"를 저장하고 싶은 경우
다음과 같이 작성할 수 있습니다.
```
// 문자열(String) 저장을 위한 ArrayList
ArrayList<String> names = new ArrayList<String>();
// 정수(Integer) 저장을 위한 ArrayList
ArrayList<Integer> numbers = new ArrayList<Integer>();
// 사용자가 정의한 클래스 Foo를, 객체로 저장할 ArrayList
ArrayList<Foo> numbers = new ArrayList<Foo>();
```
덧붙여 기본형 변수의 경우
객체가 아닙니다.
따라서 ArrayList에 담을 수 없습니다.
이 경우엔
기본 타입을 클래스화 한
"래퍼(Wrapper) 클래스"를 사용해야 합니다.
| int | double | boolean | char | byte | short | float |
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
| Integer | Double | Boolean | Char | Byte | Short | Float |
더 자세한 내용은
"자바 제네릭", "자바 래퍼 클래스" 정도로
구글링해보세요.