gpt4 book ai didi

java - 定义字符串常量时出错

转载 作者:行者123 更新时间:2023-12-01 07:42:40 25 4
gpt4 key购买 nike

给定:

public static final String XML_POLICY =
"<?xml version="1.0"?>"
+"<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">"
+ "<cross-domain-policy>"
+ "<allow-access-from domain="*" to-ports="*" />"
+ "</cross-domain-policy>";

我在

上遇到编译错误
"<?xml version="1.0"?>"

它应该显示“;”。

然后

+"<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">"

它说“找不到符号,符号:类 xml 和类 dtds”

可能的原因是什么? IDE 是 Netbeans 6.8 Beta。

最佳答案

您需要转义双引号 - 而且它不仅仅是第一行。 doctype 和allow-access-from 行也需要它。

// Reformatted slightly to avoid scrolling :)
public static final String XML_POLICY =
"<?xml version=\"1.0\"?>"
+ "<!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\">"
+ "<cross-domain-policy>"
+ "<allow-access-from domain=\"*\" to-ports=\"*\" />"
+ "</cross-domain-policy>";

另一种方法是在 XML 中使用单引号,这在大多数地方都很好,并且使代码更易于阅读:

public static final String XML_POLICY =
"<?xml version='1.0'?>"
+"<!DOCTYPE cross-domain-policy SYSTEM '/xml/dtds/cross-domain-policy.dtd'>"
+ "<cross-domain-policy>"
+ "<allow-access-from domain='*' to-ports='*' />"
+ "</cross-domain-policy>";

请注意,这与 Netbeans 或 XML 无关。双引号用于指示字符串的开头和结尾,这就是为什么如果您想要中间有一个双引号,则需要对其进行转义。例如:

String x = "I said, \"Hello.\" The child laughed.";

Java 中还有各种其他转义序列 - 请参阅 section 3.10.6 of the language specification了解更多详情。

关于java - 定义字符串常量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com