當前位置:首頁 » 編程語言 » 初始化字元串數組java

初始化字元串數組java

發布時間: 2022-11-01 19:30:39

『壹』 java中一個類包含String數組怎麼初始化的

不可以滴!!
因為在B中,如果沒有了帶*的那一行,那麼僅僅只是代表 有存在一個存放A類型數組:as[i],但是裡面每個元素到底存放什麼我們是不知道的,在JAVA裡面,就是引用為空的意思,既as[i] = null。就是說裡面其實是沒有任何東西的,僅僅只有一個定義而已,那怎麼可以指向A類裡面的a屬性呢?因為as[i]指向的東西都為空,空就是代表沒有任何東西,那麼裡面自然也不會有a這個屬性咯。所以我們在聲明完數組的時候,必須把數組裡面的元素也申明了。但是為什麼C可以呢。
你看C是這樣做的:
C先聲明了一個數組,所以只要存在C的實例,就可以使用到這個數組。雖然這時候,數組裡面的元素是為空的,但是你在主程序裡面使用了c.s[1]="3",意思就是為c實例裡面的數組的第2個元素給申明了,而不是直接引用,這與B是不同的。
——————————————————————————————————————————————————————
B-->不為空,所以可以使用B裡面的元素,既as數組,但是as數組裡面的元素是空的,所以不存在裡面有某種屬性的說法,自然是不可是使用A類裡面的元素a咯。
C--》不為空,所以可以使用C裡面的元素s數組,然後對s數組進行操作。
祝你好運!!希望你能夠理解

『貳』 JAVA中怎麼初始化對象數組

嗯,new之後只是分配了空間,如果不指定值,對象數組空間對應的就是空。那麼如你所說,可否詳盡一下錯誤呢?

『叄』 JAVA中怎麼初始化對象數組

你這個試試對對象數組的一個聲明,並沒有示例話,所以會報空指針異常
這個數組對象都是現用現初始化的
Animals [] an=new Animals[5];//這只是個對象類型數組的聲明
用的時候需要
for(int i=0;i<5;i++)
an[i]=new Animals();
這樣你明白了吧
你前面的那個光聲明了數組,但是沒有調用Animals的構造函數,你數組里的每個元素都是一個對象,使用前必須要先實例化
如果你只是用戶輸入長度,
Animals [] an=new Animals[n];
聲明時是可以用變數的
或者你直接Animals [] an=new Animals[100];定義一個大數組,要用的時候再new Animals();實例化,或者用LinkedList<Animals> an=new LinkedList<Animals>();定義一個動態數組

『肆』 java字元串數組

import java.util.Arrays;
public class Txe {
public static void main(String[] args) {

//new java.lang.String [3];
//在堆中分配一個String類對象的空間,並將該對象的地址堆入操作數棧。

String [] s1 = new String[4];
String [] s2 = new String[4];
String [] s3 = new String[4];
System.out.println("0:"+s1); //<輸出的是s1的地址>
System.out.println("1:"+s1.equals(s1)); // 為什麼輸出是 true <s1的地址與s1的地址比較,地址是相同的。>
System.out.println("2:"+new String [3].equals("null"));// 為什麼,輸出是 false <用一個地址與一個字元串比較>
System.out.println("3:"+new String[3].equals(null));// 為什麼,輸出是 false <地址與值比較>
System.out.println("4:"+new String[3]);//<輸出地址>

s1[1]="a";
System.out.println("5:"+s1[3]);
System.out.println("6:"+s1[1].equals("a"));
//5,6是我自己忘記了,測試用的,汗!

System.out.println("7:"+s2+" "+s3);//<輸出兩個地址>
System.out.println("8:"+s2.equals(s3)); // <地址不同>
System.out.println("9:"+Arrays.equals(s2,s3));//<這個才是數組值與值的比較,註:我前面導入了Array包。>

System.out.println("10:"+new String[3].equals(new String[3])); // false<每重新分配一次地址都會不一樣>
}

}

結果:
0:[Ljava.lang.String;@192d342
1:true
2:false
3:false
4:[Ljava.lang.String;@6b97fd
5:null
6:true
7:[Ljava.lang.String;@1c78e57 [Ljava.lang.String;@5224ee
8:false
9:true
10:false

你寫了這道題第七分鍾時我就看到了。
不過,用了這么久時間,我才稍稍有點點弄明白,找了N多的資料,問了N多的人。
希望對你有幫助。

『伍』 怎樣在java中定義String數組

string[]
str
=
new
string[]{"aaaa","bbbb","cccc"};//直接初始化
string[]
str
=
new
string[]();//這樣需要定義數組的空間
或者直接定義
string[]
str
=
null;
等你使用的時候在new
string[num]();
數組定義完了如果空間不夠的話還可以擴充空間的,函數我忘了你可以在api文檔查一下

『陸』 java中怎麼把字元串轉化為字元串數組

1,

如果是 「字元串數組」 轉 「字元串」,只能通過循環,沒有其它方法
String[] str = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++){
sb. append(str[i]);
}
String s = sb.toString();
2,

如果是 「字元數組」 轉 「字元串」 可以通過下邊的方法
char[] data={'a','b','c'};
String s=new String(data);

3,

使用StringUtils中的join函數。org.apache.commons.lang.StringUtils;

4,

將數組變成字元串

5,

StringUtils.join(str)

// 將數組用逗號分隔變成字元串

StringUtils.join(str, ",")

將字元串變成數組方法:

java.lang包中有String.split()方法,java中通常用split()分割字元串,返回的是一個數組。

特殊,轉義字元,必須加"\"(「.」和「|」都是轉義字元)

『柒』 java String數組初始化問題

並不是出亂碼了,是你把r加入進去了,r是一個String數組,無法直接轉換為String

最後的那句 sb.append(r.toString()); 沒有必要,刪除就可以了

熱點內容
手機如何破解無線密碼 發布:2025-01-09 19:36:52 瀏覽:49
java貓 發布:2025-01-09 19:35:13 瀏覽:130
linux埠號命令 發布:2025-01-09 19:21:55 瀏覽:530
輸入虛擬手機伺服器地址怎麼填 發布:2025-01-09 18:58:50 瀏覽:349
dede換資料庫 發布:2025-01-09 18:53:23 瀏覽:263
sql2000資料庫置疑修復 發布:2025-01-09 18:35:54 瀏覽:411
塊設備塊緩存 發布:2025-01-09 18:35:46 瀏覽:485
HED編譯 發布:2025-01-09 18:20:26 瀏覽:408
從安卓轉移設備從哪裡呢 發布:2025-01-09 18:12:31 瀏覽:557
為什麼半夜伺服器會炸 發布:2025-01-09 18:06:32 瀏覽:321