導航:首頁 > 編程語言 > java類數組初始化

java類數組初始化

發布時間:2022-04-26 15:03:54

java數組初始化

第一題選B,第二題選A、B和D;
java初始化數組的幾種方法:
int a[]; //聲明未初始化
a = new int [10]; // 定義佔用空間大小(10個int)
int a[] = new int [10]; //聲明並定義大小(即分配了指定大小的空間)
int a[] = {1,2,3}; // 聲明並初始化,佔用空間大小是3個int。

② 在java中,什麼叫數組的初始化

數組和對象其實是一樣的,分別有引用和物理地址,引用你可以看成指針,當你new Object()表示開辟一個物理地址存儲對象的真實數據,Object obj相當於你在內存中開辟一個物理地址存儲引用(指針),引用本身沒有數據,但是通過Object obj = new Object()相當於把引用和對象數據做了關聯,調用引用就等於調用數據的物理地址。new Object()表示數據初始化,Object obj表示引用初始化。
慢慢理解,祝你好運。

③ JAVA怎麼初始化泛型數組

首先由於Java泛型的實現,不可以使用如下的代碼:

public class GenSet<E> {
private E a[];

public GenSet() {
a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation
}
}

那麼我們如何在保持類型安全的同時實現這一點?

我在Java論壇上看到了這樣的解決方案:

import java.lang.reflect.Array;

class Stack<T> {
public Stack(Class<T> clazz, int capacity) {
array = (T[])Array.newInstance(clazz, capacity);
}

private final T[] array;
}

在這里,我們需要討論"checked" and "unchecked"。

Checked:strong typing。GenSet明確知道它包含的對象類型(即它的構造函數是使用Class <E>參數顯式調用的,當方法傳遞非類型E的參數時,方法將拋出異常。請參閱Collections.checkedCollection。

在這種情況,我們需要這樣寫:

public class GenSet<E> {

private E[] a;

public GenSet(Class<E> c, int s) {
// Use Array native method to create array
// of a type only known at run time
@SuppressWarnings("unchecked")
final E[] a = (E[]) Array.newInstance(c, s);
this.a = a;
}

E get(int i) {
return a[i];
}
}



Unchecked: weak typing。實際上沒有對作為參數傳遞的任何對象進行類型檢查。

在這種情況,我們需要這樣寫:

public class GenSet<E> {

private Object[] a;

public GenSet(int s) {
a = new Object[s];
}

E get(int i) {
@SuppressWarnings("unchecked")
final E e = (E) a[i];
return e;
}
}

請注意,數組的組件類型應該是類型參數的擦除:

public class GenSet<E extends Foo> { // E has an upper bound of Foo

private Foo[] a; // E erases to Foo, so use Foo[]

public GenSet(int s) {
a = new Foo[s];
}

...
}

所有的這些都源於Java中泛型一個的特性但也是一個weakness:它是使用擦除實現的,因此除非實施一些顯式機制(type-checking),否則「泛型」類不知道它們在運行時創建的類型參數,故無法提供 type-safety。

④ JAVA中怎麼初始化對象數組

初始化數組有三種方式,以下都是去初始化一個String類型長度2的數組:

方式一:

String[]strs=newString[2];
strs[0]="0";
strs[1]="1";

方式二:

String[]strs=newString[]{"0","1"};

方式三:

String[]strs={"0","1"};

三種方式,都有自己的使用場景,在合適場景使用即可。

⑤ java數組類初始化如何賦值

Comparable[] s={new Comparable(3),new Comparable(20),new Comparable(13)};
估計也只能這樣子了.這么寫不能直接指定數組的長度.
數據特別多的話,最好是把你的數據用個int數組包裝起來,再寫個循環.

⑥ java數組的初始化

一維數組

1)
int[] a; //聲明,沒有初始化

2)
int[] a=new int[5]; //初始化為默認值,int型為0

3)
int[] a={1,2,3,4,5};
//初始化為給定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)

int[] a=new int[5]{1,2,3,4,5};
//錯誤,如果提供了數組初始化操作,則不能定義維表達式
5)
int[] a;
a=new int[5]; //正確,同(2)一樣

int[] a;

a={1,2,3,4,5}; //錯誤數組常量只能在初始化操作中使用,如(3)

6) int a[];
a[0]=1;
//錯誤,因為數組沒有初始化,不能賦值a[1]=2; 二維數組

1)
int[][] a;
//聲明,沒有初始化

2) int[][] a=new int[2][3];
//初始化為默認值,int型為0

3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化為給定值
int[][] a={{1,2},{2,3},{3,4,5}};
//沒有錯,數組空間不是連續分配的,所以不要求每一維的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其實就是一個數組a[1]=new int[4];
//每一維的大小可以不一樣
;

5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)

⑦ Java數組創建和初始化

有什麼問題?
創建數組
String[]
a
=
new
String[3];
String[]
a
=
new
String[]{"a","b"};
就是象定義變數那個..只是在類形後面加個[]初始化
第一種.寫法.如果是數值形.默認值是0;如果是字元串.或者對象類型就是NULL;
第二種.寫法.創建時直接初始化.
要注意..第一種寫法的3就是數據長度那裡.如果你沒有給數組元素賦值的化必須有.如果象第二種.有賦值的話就可以把3省掉.

閱讀全文

與java類數組初始化相關的資料

熱點內容
銀河麒麟字體庫存在哪個文件夾 瀏覽:956
魔獸加丁伺服器的航空叫什麼 瀏覽:152
花冠改裝案例哪個app多 瀏覽:515
成績單app哪個好用 瀏覽:140
北美程序員vs國內程序員 瀏覽:181
php解析xml文檔 瀏覽:121
石墨文檔APP怎麼橫屏 瀏覽:185
牆主鋼筋加密和非加密怎麼看 瀏覽:144
金山區文件夾封套定製 瀏覽:708
soho程序員 瀏覽:672
java位元組截取 瀏覽:525
php提交作業 瀏覽:815
房產還沒解壓可以辦理贈予嗎 瀏覽:224
java毫秒轉分鍾 瀏覽:753
模式識別中文pdf 瀏覽:774
c語言平均數字編譯錯誤 瀏覽:171
單片機算交流 瀏覽:45
php自適應網站 瀏覽:467
2b2t伺服器怎麼獲得許可權 瀏覽:816
c語言javaphp 瀏覽:804