Array是一個(gè)類的簡寫,全限定類名是java.lang.reflect.Array.
為于田等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及于田網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、于田網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Array可以代表所有的數(shù)組,可以通過Array動(dòng)態(tài)創(chuàng)建與修改里面的元素.
使用靜態(tài)方法newInstance()構(gòu)造Object對象.方法如下:
public static Object newInstance(Class> element, int ... length);
第一個(gè)參數(shù)是代表元素的類,剩下的參數(shù)表示維數(shù),一個(gè)參數(shù)表示一維數(shù)組,兩個(gè)參數(shù)表示二維數(shù)組(數(shù)組的數(shù)組),參數(shù)的值代表維數(shù)的長度.
Object intArray = Array.newInstance(int.class,3); //int [3]
Object stringArray = Array.newInstance(String.class,2,3); //String [2][3]
賦值使用靜態(tài)方法set即可,參數(shù)為Array返回的Object對象,下標(biāo)與對應(yīng)的值.
public static void set(Object array,int index,Object value);
public static void setBoolean(Object array,int index,boolean b);
public static void setXxxx(Object array,int index,xxx);
其中最后一個(gè)表示對應(yīng)的基本類型,第二個(gè)為boolean類型的示例.
Array.set(intArray,2,3);
Array.set(stringArray,1,new String[]{"123","456"});
使用靜態(tài)方法get,參數(shù)為Array返回的Object對象與下標(biāo).
public static Object get(Object array,int index);
public static boolean getBoolean(Object array,int index);
public static xxx getXxx(Object array,int index);
最后一個(gè)表示對應(yīng)的基本類型,第二個(gè)為boolean類型的示例
System.out.println(Array.get(intArray,2));
System.out.println(Array.get(Array.get(stringArray,1),1));
可以通過強(qiáng)制類型轉(zhuǎn)換使Array返回的Object對象轉(zhuǎn)換為對應(yīng)的數(shù)組.
var castIntArray = (int [])intArray;
var castStringArray = (String [][])stringArray;
這樣可以當(dāng)作一個(gè)普通數(shù)組使用.
import java.lang.reflect.*;
public class test
{
public static void main(String[] args) {
var intArray = Array.newInstance(int.class, 3);
var stringArray = Array.newInstance(String.class, 2,3);
Array.set(intArray, 2, 3);
Array.set(stringArray, 1, new String[] { "123", "456" });
System.out.println(Array.get(intArray, 2));
System.out.println(Array.get(Array.get(stringArray,1),1));
System.out.println("-------cast-------");
System.out.println(((int[]) intArray)[2]);
System.out.println(((String [][])stringArray)[1][1]);
}
}