찾다

 >  Q&A  >  본문

Java中的数组有对应的类么,为什么数组可以直接调用clone()方法?

黄舟黄舟2798일 전678

모든 응답(3)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 10:15:08

    1. Java에는 배열에 해당하는 클래스가 없습니다. 배열은 Java 언어의 일부입니다.
    2. 데이터는 그 자체로 구현되는 특수 개체입니다Cloneable. Objectclone 메소드의 javadoc에 다음 문장이 있습니다. 모든 배열은 Cloneable 인터페이스를 구현하는 것으로 간주되므로 배열은 clone 메소드를 직접 사용할 수 있습니다.
    3. 배열 객체는 finallength 속성으로 생성됩니다. 어떤 클래스에도 배열이 정의되어 있지 않기 때문에 소스 코드가 없습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 10:15:08

    Java의 배열은 단지 배열일 뿐이고 이에 대응하는 클래스가 없습니다.
    배열에 사용되는 clone()은 클래스일 필요는 없습니다. 컴파일러가 이 구문을 제공하는 한 구현할 수 있습니다.
    마찬가지로 배열의 길이도 컴파일러가 파싱하는 배열 속성이므로 Java로 구현되지 않으며 당연히 Java의 소스 코드를 볼 수 없습니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 10:15:08

    클래스 c = int[].class;
    System.out.println(c.getPackage());
    System.out.println(c.getName());
    System.out .println(Modifier.toString(c.getModifiers()));

    다음과 같이 이해될 수 있습니다.
    배열 클래스는 길이 속성 및 기타 메소드 구현을 포함하여 JVM 런타임에 의해 동적으로 생성되는 특수 클래스 세트입니다.
    int[], boolean[ ] 이러한 배열,
    에는 com.yourPackage.YourClass[] 형식의 배열과 같은 사용자 정의 유형의 배열과 2차원, 3차원... 다차원 배열도 포함됩니다.

    흥미로운 입력 결과가 있습니다
    int[] 클래스의 수식자는 public abstract final입니다
    이것은 우리가 알 수 없는 일입니다

    회신하다
    0
  • 취소회신하다