在 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