2012-02-23 2 views
28

의 유형 매개 변수화 배열 만들기 :스칼라 - 스칼라 IDE는 다음과 같은 시도에 만약 지정된 길이

val chars = Array[Char](256) 

는 모든 벌금입니다. 내가 이렇게한다면 :

val len = 256 
val chars = Array[Char](len) 

그것은이 Char 대신 len 기대하고 있다고? 왜? 나는 행동이 똑같을 것을 기대한다! 왜 내가 크기를 지정하는 대신 배열에 그 것을 넣고 싶다고 생각합니까? 지금까지 내가 아는 한 배열에 배열을 배치하기 위해 단일 인수를 사용하는 배열의 생성자가 없습니다.

답변

51
val chars = Array[Char](256) 

이 어레이를 생성하는 데 실패하므로, 256은 Char로 처리하고 렌 여기

val len = 256 
val chars = Array[Char](len) 

Int있다 (부호 256) 하나의 요소의 배열을 생성하기 때문에 작동 지정된 크기로 다음과 같은 것이 필요합니다.

val chars = new Array[Char](256) 
+4

배열 내용이 중요하지 않은 경우 fill 대신 new를 사용할 수도 있습니다. 'val chars = new Array [Char] (256)' – MxFr

24

을 사용 Array.ofDim[Char](256) : {0}는 배열의 내용을 당신은 또한 fill 대신 new을 사용할 수 있습니다 문제가되지 않는 경우 요소

을 생산하는 기능입니다.

또한 질문을 stackoverflow에 게시하기 전에 API docs을 검색하는 것이 좋습니다.