字符串文字没有通过双引号正确关闭

时间:2016-02-27 09:35:30

标签: java compiler-errors

我在我的java文件中的第16行(以&#39; "<!DOCTYPE ...&#39;开头)收到错误。

out.println ( 
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"

\"http://www.w3.org/TR/html4/loose.dtd\">\n" + 
"<html> \n" + 
"<head> \n" + 
"<meta http-equiv=\"Content-Type\" content=\"text/html; 
charset=ISO-8859-1\"> \n" + 
"<title> My first jsp </title> \n" + 
"</head> \n" + 
"<body> \n" + 
"<font size=\"12px\" color=\"" + color + "\">" + 
"Hello World" + 
"</font> \n" + 
"</body> \n" + 
"</html>" 
);

错误消息:

  

双引号

未正确关闭字符串文字

不知道什么是错的。请帮帮我。

1 个答案:

答案 0 :(得分:2)

不允许字符串文字跨越Java中的多行。

在这里,您尝试创建一个跨越多行的字符串文字:

"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
\"http://www.w3.org/TR/html4/loose.dtd\">\n" 

相反,将其拆分为多个串联字符串,如下所示:

"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"" +
"\"http://www.w3.org/TR/html4/loose.dtd\">\n"

或者将整个字符串放在一行上,如下所示:

"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n"

<meta>标记再次出现同样的问题。