老師我想問一下,代碼都是按照視頻來的唯獨 private String readStream(InputStream is)該方法中的result變量設置為null,視頻里面是String result=“”;而結果不報錯但是什么數據都沒有,而把result按照視頻當中的來設置結果就會正常顯示,希望老師幫忙解答一下!
? private String readStream(InputStream is){
? ? InputStreamReader isr;
? ? String result = null ; ? ? ? ? ? ? ? ? ? ?//僅修改此處把result=“”,結果就會正常顯示
? ? try {
isr = new InputStreamReader(is, "utf-8");
BufferedReader br = new BufferedReader(isr);
String line=“”;
try {
while((line = br.readLine())!=null){
result+=line;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
? ?
return result;
? ?
? ? }
2015-12-22
String str = ""; ?這個跟String str=“abc"一樣,只是String str = ""是空串,長度為0。
""是空字符串,但是也是字符串,里面沒有內容。
而null是空的意思,什么都沒有,沒有地址。
在result+=line; 中,空串是可以累加的,而null是不行的。所以就會什么也沒有。
(純屬個人理解,正確性請自己判斷)