2013-02-21 2 views
-6

Я определил массив, инициализированный 12 элементами, но значение его длины атрибуту присвоено 10 JVM, и я не могу получить доступ к 11-му и 12-му элементам. Что я должен сделать, чтобы решить проблему? Предположим, что этот массив определяется следующим образом:неправильная длина массива в java

private static final Type[] p = new Type[]{ null, null, null, null, null, null, null, null, null, null, null, null }; 

и в некоторой функции я использую Type X = P [11]; то я получаю вышеуказанное исключение

+6

Пожалуйста, покажите свой код. – nhahtdh

+0

Пожалуйста, покажите свой код и будьте понятным, что вы хотите задать. – 2013-02-21 05:56:03

+0

что вы наделали ..... пожалуйста, покажите код ........ –

ответ

0
public static void main(String[] args) { 
    int[] arr ={1,2,3,4,5,6,7,8,9,10,11,12}; 
    System.out.println(arr[11]); 
} 

Это напечатает 12. Индекс массива начинается с 0 до arr.lenghth-1. Поэтому, если вы хотите получить доступ к arr [12], вы получите java.lang.ArrayIndexOutOfBoundsException.

public class SetTest { 
private static final String[] arr1 = { null, null, null, null, null, null, 
     null, null, null, null, null, null }; 

public static void main(String[] args) { 
    String p = arr1[11]; 
    System.out.println(p); 
    System.out.println(arr1.length); 

} 
} 

Выход:

null 
12 
+0

Не думаю, что это ответ на вышеуказанный вопрос. –

+0

Трудно сказать, хотя в вопросе нет никакого образца кода ... – Krease

+0

@PradeepSimha Я думаю, что OP хочу для доступа к 12-му элементу внутри массива с помощью arr [12]. Поэтому я пишу выше ответ. –