2013-04-22 2 views
4
char[] name = "VIKKYHACKS".toCharArray(); 
System.out.println(name.length); 

이 프로그램에서 "길이"는 무엇입니까? (new String("VIKKYHACKS")).length() 인 경우 길이는 방법이됩니다. 그러나 char []는 데이터 유형이며 내부에 필드 나 메소드를 가질 수 없습니다. 그 프로그램의 두 번째 줄은 어떻게 작동합니까 ???char []의 "길이"란 무엇입니까?

답변

6

char []는 원시 데이터 형식이 아닙니다. 그것은 Object이며, public 필드 'length'를가집니다. 좋은 시작이다

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

.

배열은 객체이므로 equals() 및 hashCode() 메서드와 같은 다른 모든 항목도 있습니다. (notify(), wait() 등과 같은 모든 처리)

2

배열은 Java의 객체입니다. JLS에 따르면, section 10.3, length은 "final 인스턴스 변수"이며 배열의 길이를 나타냅니다.

+0

+1 올바른 답변을 제공 할뿐만 아니라 Java 언어 사양 (JLS)의 해당 부분에 대한 링크를 제공하기 위해 +1. – informatik01

1

length는 Array 클래스의 public final 필드 (:) 자바에 대해 얘기했다) 배열의 크기가 포함됩니다 "길이"변수의 인스턴스를가집니다. 이 값은 배열 생성시 초기화됩니다.

2

배열은 단일 유형의 고정 된 수의 값을 보유하는 컨테이너 객체입니다. 배열의 길이는 배열을 만들 때 설정됩니다. 생성 후 길이는 고정되어 있습니다. 내장 길이 속성을 사용하여 배열의 크기를 결정할 수 있습니다. 참조 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

1

이름은 문자 배열이고 배열은 길이라는 속성을 가져 와서 배열의 길이를 가져옵니다. 문자열의 경우 length()는 문자열의 길이를 가져 오는 메서드입니다.

2

먼저 "VIKKYHACKS"라는 문자열이 있습니다. 그런 다음

char[] name = "VIKKYHACKS".toCharArray(); 

으로 배열로 턴 "문자 [] 이름 ="일부 변수 이름에 대한 우리의 문자 배열을 할당합니다. 어떤 타입의 char 배열을 가짐 (char [])

배열에는 .length를 사용하여 액세스하는 길이 변수가 있습니다. 두 번째 줄에서 사용됩니다.

name.length 
관련 문제