Java에서 length와 length()의 차이점

최신 IDE에는 클래스에 선언된 Java 키워드 또는 변수를 제공하는 자동 완성 기능이 있으며, 이 기능이 없으면 how  알다  의 크기 테이블? 그리고 끈 팬티의 크기를 어떻게 알 수 있습니까? 모든 수준의 개발자(초보자 또는 전문가)는 다음을 구별할 수 없습니다. 길이  그리고  length()  IDE가이 문제를 해결하기 때문에 여전히 이해할 수 없습니다. 이 기사에서는 Java.

의 배열, 문자열에 대한 몇 가지 개념을 살펴보겠습니다. 길이  배열의 크기를 검색하는 데 사용되며  length()  문자열의 크기를 반환하는 메서드입니다.

int[] 배열 = new int[5]; 
System.out.println(array.length);//배열의 길이

String str = "string";
System.out.println(str.length()); string
에 대한 length() 문제는 배열에 속성이 있는 이유입니다.  길이  하지만 문자열과 그 반대는 아닌가요?

Java의 배열에 lening 속성이 있는 이유는 무엇입니까?

배열은 제한된 수의 요소를 저장하는 특정 유형의 객체 컨테이너입니다. 보드가 생성되면 크기는 변경되지 않고 고정된 상태로 유지됩니다. 그렇기 때문에 길이  변수로 선언됩니다. final  그리고 그것이 이유입니다  길이  배열이 생성될 때 배열을 정의하는 속성으로 간주됩니다.

배열은 두 가지 방법으로 만들 수 있습니다.
  1. Initialize a new array with values.
  2. 크기를 지정하여 새 배열을 인스턴스화합니다.
값이 있는 배열을 초기화하면 쉼표로 구분된 요소의 수에 해당하는 크기의 새 배열이 만들어집니다.

int[] tab = {1,2,3}; 

두 번째 방법은 유형, 요소 수를 지정하여 새 배열을 인스턴스화하는 것입니다.

String[] tab = new String[3]; 

String으로 정의 된 Array 클래스가없는 이유는 무엇입니까?< / h2>
배열은 객체이고 각 배열에는 클래스가 있습니다  개체  다음 문장은 합법적입니다:

Object obj = new String[20]; 
배열은 클래스  오브젝트  (클론 제외). Array 클래스에 대한 정의가없는 이유는 무엇입니까? Array 클래스의 정의를 찾을 수 없으며 한 가지 설명은 숨겨져 있다는 것입니다. 조금 생각해보면 Array 클래스가 있다면 어떻게 생겼을까요? 그녀는 여전히 물건을 보관할 보드가 필요하겠죠? 그렇기 때문에 그러한 클래스를 정의하는 것은 나쁜 생각입니다. 사실, method 를 호출하여 배열의 클래스를 가져올 수 있습니다. getClass():

int[] tab = new int[2]; 
System.out.println(tab.getClass());
출력:

class [I

String에 length()가 있는 이유는 무엇입니까?

문자열  의 테이블입니다  char입니다. 각 응용 프로그램에 필요하지 않은 특성을 정의할 필요가 없습니다. C 언어와 달리 문자 배열은 Java에서 String이 아닙니다. 문자열  본질적으로 동적이지만 길이. Java의 디자이너는 그것을 생각했고 메소드를 만들어 개발자의 실수를 피하고 더 쉽게 만들기로 결정했습니다. length().

참조:
Javadoc: 배열
StackOverFlow : java.lang.Array 클래스가 없는 이유는 무엇입니까?