簡體   English   中英

java中如何聲明和初始化數組

[英]How to declare and initialize Arrays in java

我正在嘗試使用 for 循環初始化Arrays 但我不能將int轉換或轉換為Arrays

import java.util.Arrays;

public class InitalizeArrays {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int[] arr = {1, 2, 5, 8}; //this one is fine            
        Arrays[] arr2 = new Arrays[5];

        for(int i=0; i<=arr2.length; i++)
        {
            arr2[i]=i;   //How to initalize Arrays 
            System.out.println(arr2[i]);
        }
    }
}

我在這里缺少什么?

Arrays不是您應該使用的對象……它只是一組用於處理數組的輔助方法(注意小寫的“a”)。 這是文檔:https ://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html

數組的有效索引是0array.length - 1 (它是一個intArrays (不是Arrays - 一個實用程序類)。您需要更改

Arrays[] arr2 = new Arrays[5];
for(int i=0; i<=arr2.length; i++)

int[] arr2 = new int[5]; // <-- to store an int.
for(int i=0; i<arr.length; i++) // <-- or arr2.length - 1
{
    arr2[i]=arr[i]; // <-- to copy arr.
}

或者您可能想使用Arrays.copyOf(int[])類的

int[] arr2 = Arrays.copyOf(arr, arr.length + 1);
// no for loop to copy needed.
Arrays[] arr2 = new Arrays[5];

應該替換為

int[] arr2 = new int[5];

就這樣。

當然不會有任何編譯時錯誤,但會出現運行時錯誤,因為 Java 不會像對待 int[] 數組那樣對待 Arrays[]。 它將被視為另一種與整數數組沒有關系的數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM