코테 공부/java
제네릭은 primitive 타입 지원 X, int[] to Integer[], Integer[] to int[]
sweet-po
2023. 5. 25. 23:20
https://school.programmers.co.kr/learn/courses/30/lessons/181894?language=java
프로그래머스 2의 영역 문제를 풀다가 contains 메서드를 쓰고 싶었는데 결과값이 예상대로 나오지 않아 print 찍어보고 다른거 매개변수로 넣어보고 똥꼬쇼를 하다가 찾았다
Arrays.asList(array).contains(value);
Arrays.asList(int[])는 안된다
There's no such thing as a List<int> in Java - generics don't support primitives.
제네릭은 primitive 타입을 지원하지 않는다.
List<Integer>은 되도 List<int>는 안되는 것
분명 아는 개념이라 생각했는데 막상 짤때 생각이 안나면 어떻게 해야하나요..?
그래서 결국 int[] to Integer[] 찾아서 했다
stream 사용해서
int a[] = {1,2,3,4};
Integer b[] = Arrays.stream(a).boxed().toArray(Integer[]::new);
반대로 Integer[] to int[]
Integer a[] = {1,2,3,4};
int b[] = Arrays.stream(a).mapToInt(Integer::intValue).toArray();
// 아래도 가능
// int b[] = Arrays.stream(a).mapToInt(i->i).toArray();