![](/img/trans.png)
[英]error: incompatible types: String[] cannot be converted to String
[英]incompatible types error String[]
當我嘗試運行程序時收到此錯誤消息
error: incompatible types
epost = split[3];
^
required: String[]
found: String
這是我的代碼:
String [] split = ordre.split(" ");
String [] epostadr;
while(split >= 3) {
String [] epostadr = split[3];
}
我想將epostadr保存在split [3]中,但是它不會讓我那樣做,因為epostadr是String []時,split只保存字符串,我該怎么做才能改變它? 任何幫助將不勝感激。
String [] epostadr = split[3];
split[3]
的類型為String
而epostadr
的類型為String[]
也許您想將epostadr
聲明為String
? [不確定我是否遵循您的目標]
首先,您沒有數組:
String [] epostadr;
這聲明了一個變量,可以為其分配數組引用。
然后您有:
String [] epostadr = split[3];
這是沒有道理的。 split[3]
是一個String
; 您不能將其分配給聲明為String
數組的變量。
如果需要epostadr
作為數組,則需要創建一個數組,進行分配,然后將String
放在特定位置:
String [] epostadr = new String[maxNumberOfStrings];
...
epostadr[index] = split[3];
編輯:這忽略了您的其余代碼實際上並沒有按照您的想法去做。 您的while循環(如果編寫正確)將永遠循環; split.length
永遠不會改變。 鑒於這些問題,您可能希望投資於Java /編程的初學者指南,或者至少閱讀Oracle網站上提供的Java教程。
當在String上使用split時,它將使其變成String [],因此在將String作為String []進行拆分時就可以正確理解。 但是,在每個陣列插槽中都有一個字符串。 基本上,您正在嘗試制作epostadr,將其聲明為String [],String,這就是不兼容類型的來源。 String []不能為String。
很難從這段代碼中確切地知道您要做什么,所以我將繼續進行介紹,讓您知道發生了什么。 看起來您正在嘗試獲取存儲在變量ordre中的字符串,並將其拆分,以便每個單詞在名為split的字符串數組中都有其自己的索引。
因此,如果ordre包含字符串“我的名字是瓊斯”。
String [] split = ordre.split(" ");
該行將創建一個名為split的數組,其中包含以下值{My,name,is,Jones}
這是您可能需要澄清的部分,似乎您希望這些值位於字符串數組epostadr中,或者只是第三個索引,在本例中為“ Jones”,因為索引從0開始。
將值放在epostadr中將是多余的,因為split已包含這些值。 但是,如果您真的想要復制它,則可以執行此操作。
String [] epostadre = split;
如果只需要第三個索引,則epostadre不能是字符串數組,但必須聲明為字符串,然后您可以執行此操作...
String epostadre = split[3];
在這里,您將聲明一個字符串,該字符串將保留一個值,並將其設置為等於split的第三個索引Jones所包含的字符串。 split [0] =“我的” split [1] =“名稱”,依此類推。
希望對您有所幫助,讓我知道是否需要進一步說明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.