java枚举编译错误“;未关闭的字符串文字;

java枚举编译错误“;未关闭的字符串文字;,java,enums,Java,Enums,然后使用此“未关闭的字符串文字”afteren(3)编译错误。 若我删除变量“desc”,那个么错误就会消失。 有人能帮我吗?您必须使用UTF-8或其他东西作为您的文件编码…因此我怀疑问题是源代码中的“同音字” 更具体地说,其中一个双引号字符不是ASCII双引号(Unicode 0x0022)。Java仅将ASCII双引号字符识别为在字符串文字中具有意义。其他“看起来像”双引号的字符…只是字符串内容 另一个答案指出您的构造函数参数顺序错误。这不是导致“未关闭字符串文字”错误的原因。您必须使用UT

然后使用此“未关闭的字符串文字”afteren(3)编译错误。 若我删除变量“desc”,那个么错误就会消失。
有人能帮我吗?

您必须使用UTF-8或其他东西作为您的文件编码…因此我怀疑问题是源代码中的“同音字”

更具体地说,其中一个双引号字符不是ASCII双引号(Unicode 0x0022)。Java仅将ASCII双引号字符识别为在字符串文字中具有意义。其他“看起来像”双引号的字符…只是字符串内容


另一个答案指出您的构造函数参数顺序错误。这不是导致“未关闭字符串文字”错误的原因。

您必须使用UTF-8或其他东西作为文件编码…因此我怀疑问题是源代码中的“同调符号”

更具体地说,其中一个双引号字符不是ASCII双引号(Unicode 0x0022)。Java仅将ASCII双引号字符识别为在字符串文字中具有意义。其他“看起来像”双引号的字符…只是字符串内容


另一个答案指出构造函数参数的顺序错误。这不是导致“未关闭字符串文字”的原因错误。

是您的源文件对您的<代码> javac 期望的编码吗?此外,考虑删除EnUM常量<代码> FAI <代码>之外的逗号。您似乎以错误的顺序给出构造函数参数。您的构造函数期望字符串为第一。@ JohnBollinger好点,除了结尾的额外逗号:T。我用的是想法,编码是UTF-8。我再试一次,把中文改成英语,然后把错误删掉。奇怪的是,在这个班里还有一个类似的枚举没有错误。我也认为原因是编码。你的源文件的编码是你的<代码> javac < /Cube >吗?还考虑删除多余的COMM。一个after enum常量
fai
。您似乎以错误的顺序给出了构造函数参数。您的构造函数希望字符串位于第一位。@JohnBollinger很好,除了末尾的额外逗号:这是允许的。我使用idea,编码为utf-8。我再试一次,将中文改为英文,然后错误显示出来。wei第三件事是类中有另一个类似的枚举没有错误。我还认为原因是编码。
public class Constants {
    public enum Status{
        sen(3,"发送中"),
        suc(8,"成功"),
        fai(6,"失败"),
        ;
        Integer status;
        String desc;
        Status(String desc, Integer status) {
            this.desc = desc;
            this.status = status;
        }

        public Integer getStatus() {
            return status;
        }

        public void setStatus(Integer status) {
            this.status = status;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

}