我正在尝试从网页上读取标题并将其另存为字符串。但是,由于字符串在java中是不可变的,我不能只将它设置为null并在需要时更改它。因此,我在strTitle
可能尚未初始化的最后一行的下一行收到错误。这似乎应该很容易处理,但我无法弄清楚。提前致谢。
URL allRecipe = new URL(inputLine); //user defined url
BufferedReader urlIn = new BufferedReader(
new InputStreamReader(allRecipe.openStream()));
String inputFromWeb;
//loops through webpage and finds title
while((inputFromWeb = urlIn.readLine()) != null){
//getting title
if(inputFromWeb.contains("<title>")){
strTitle = urlIn.readLine();
}
}//end while
urlIn.close();
//print out title
System.out.println("Title:");
System.out.println(strTitle); //this line returns the error
System.out.println("\n");
答案 0 :(得分:1)
因为字符串在java中是不可变的,我不能只将它设置为null 并在需要时更改它。
当然可以。如果要将String引用初始化为null,然后为其分配不同的String,则不会更改任何String,只是更改String引用。
但是,我在下一个到最后一行时遇到错误 strTitle可能尚未初始化。
String strTitle = null;
将解决您的问题。