2012-06-28 91 views
1
String s = new String({'h','e','l','l','o'}); 

我收到的錯誤:爲什麼下面的代碼不能編譯?

1 Invalid expression term '{'

我想{'h','e','l','l','o'}應該是一個字符數組,爲什麼會編譯失敗?

+0

見http://stackoverflow.com/a/5678393/414076和7.6節.10.4的語言規範。你的具體例子只有一個合法的數組初始化語法和一個變量聲明一起使用,這個變量聲明在你的代碼中明顯缺少。 –

回答

6

我想你的意思:

String s = new String(new[] {'h','e','l','l','o'}); 

的代碼你以前沒有被正確初始化數組。查看關於implicitly typed arrays的MSDN文章以獲取更多信息。

你也可以明確指定數組類型:

String s = new String(new char[] {'h','e','l','l','o'}); 
3

嘗試是這樣的:

String s = new String(new char [] {'h','e','l','l','o'});