Discussion:
[問題] 請問陣列問題...
(时间太久无法回复)
Richie
2007-07-26 12:30:29 UTC
Permalink
byte []a ={11};
String bb = new String (a);
請問上面可成功 為啥下面就不行呢?
難道我寫錯了?
String bb = new String ((byte []){11});

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.10.40.238
非天夜翔
2007-07-26 14:26:13 UTC
Permalink
※ 引述《RichieRich (Richie)》之銘言:
: byte[] a = {11};
這個包含了不少的動作
byte[] a; // declare 宣告
a = new byte[1]; // allocate 配置記憶體
a[0] = 11; // assign 指派值

但是不能
byte[] a;
a = new byte[1];
a = {11}; // <--- 語法是錯的
也不能
byte[] a = new byte[1];
a = {11} // <--- 語法是錯的

: String bb = new String (a);
: 請問上面可成功 為啥下面就不行呢?
: 難道我寫錯了?
: String bb = new String ((byte []){11});

(byte []) {11}
本身語法就已經錯了。

結論是:
{11}, {11,22} 並不代表他是一個 array,
在 java 中,除了 Class-Name[] name = {...};
{ ... } 所代表的是 block,
所以不能有 (byte []){11} 這樣的語法。


有錯請指正。謝謝。

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.29.20
._.
2007-07-26 17:02:15 UTC
Permalink
String bb = new String (new byte[] {11});

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.148.49

Loading...