在 Java 中分配陣列。
在建立變數時,首先我們會宣告它們,初始化它們,併為它們賦值/重新賦值。
類似地,在建立陣列時 -
您可以像宣告變數一樣宣告陣列 -
int myArray[];
您可以使用 new 關鍵字像建立物件一樣建立陣列 -
myArray = new int[5];
您可以透過使用索引將值逐一分配給所有元素來初始化陣列 -
myArray [0] = 101; myArray [1] = 102;
為陣列賦值
當我們將一種型別的基本值隱式分配給另一種(資料型別)的變數時,它們會被轉換。
但是,當您嘗試將更高資料型別分配給較低資料型別時,在編譯時會收到錯誤訊息“不相容的型別:可能存在損失轉換”。
因此,在為陣列的元素賦值時,您可以分配任何值,這些值將被隱式轉換。
示例
public class ArrayExample {
public static void main(String args[]){
//Declaring an array
int[] myArray = new int[5];
//Assigning values to the array
myArray[0] = 2020;
myArray[1] = 'h';
byte by = 4;
myArray[2] = by;
short sh = 8;
myArray[3] = sh;
myArray[4] = 465;
System.out.println(Arrays.toString(myArray));
}
}輸出
[2020, 104, 4, 8, 465]
但是,如果您嘗試將不相容的型別(更高型別)分配給變數,則會生成一個編譯時錯誤,提示“可能存在損失轉換”。
示例
import java.util.Arrays;
public class ArrayExample {
public static void main(String args[]){
//Declaring an array
int[] myArray = new int[5];
//Assigning values to the array
myArray[0] = 2020;
myArray[1] = 'h';
byte by = 4;
myArray[2] = by;
short sh = 8;
myArray[3] = 152L;
myArray[4] = 465;
System.out.println(Arrays.toString(myArray));
}
}輸出
編譯時錯誤
ArrayExample.java:12: error: incompatible types: possible lossy conversion from long to int myArray[3] = 152L; ^ 1 error
如果您有一個物件陣列,在為其元素賦值時,您需要確保您分配的物件是相同的型別,或者子型別(即陣列的型別)。
示例
import java.util.Arrays;
public class ArrayExample {
public static void main(String args[]){
//Declaring an array
Number[] num = new Number[5];
//Assigning values to the array
num[0] = 2020;
num[1] = 125L;
num[2] = 2545.F;
num[3] = 152L;
num[4] = 465;
System.out.println(Arrays.toString(num));
}
}輸出
[2020, 125, 2545.0, 152, 465]
但是,對於物件陣列,如果您分配的值既不是宣告的型別也不是其子型別,則會生成一個編譯時錯誤。
示例
import java.util.Arrays;
public class ArrayExample {
public static void main(String args[]){
//Declaring an array
Number[] num = new Number[5];
//Assigning values to the array
num[0] = 2020;
num[1] = 125L;
num[2] = 2545.F;
num[3] = 152L;
num[4] = "hello";
System.out.println(Arrays.toString(num));
}
}輸出
ArrayExample.java:11: error: incompatible types: String cannot be converted to N umber num[4] = "hello"; ^ 1 error
如果您建立了一個介面型別物件的陣列,則需要確保分配給陣列元素的值是實現該介面的類的物件。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP