首页 文章

我们可以用:operator创建一个Java变量吗?

提问于
浏览
0

有没有办法像这样声明变量:

private String xmlns:xsi;

导致以下错误:

Syntax error on token ":", , expected

但是,我希望在我的变量名中有 ':' . 这是强制性的 .

这是强制性的,因为我使用jaxb api将我的xml文件解组为Java . 在XML中,我有一个名为xmlns:xsi属性的元素 . 现在,在POJO中,我必须使用此属性作为存储值的变量 . 这就是为什么我必须拥有这样的变量名称 .

4 回答

  • 2

    每种编程语言都有自己的规则和约定,适用于您允许使用的各种名称,Java编程语言也不例外 . 命名变量的规则和约定可归纳如下:

    • 变量名称区分大小写 . 变量的名称可以是任何合法标识符 - 无限长度的Unicode字母和数字序列,以字母,美元符号"$"或下划线字符“". The convention, however, is to always begin your variable names with a letter, not " $ " or " ". Additionally, the dollar sign character, by convention, is never used at all. You may find some situations where auto-generated names will contain the dollar sign, but your variable names should always avoid using it. A similar convention exists for the underscore character; while it's technically legal to begin your variable's name with " _”开头,不鼓励这种做法 . 不允许有空白区域 .

    • 后续字符可以是字母,数字,美元符号或下划线字符 . 约定(和常识)也适用于此规则 . 为变量选择名称时,请使用完整单词而不是隐藏缩写 . 这样做可以使您的代码更易于阅读和理解 . 在许多情况下,它还会使您的代码自我记录;例如,名为cadence,speed和gear的字段比缩写版本(如s,c和g)更直观 . 另请注意,您选择的名称不得是关键字或保留字 .

    • 如果您选择的名称只包含一个单词,则以全小写字母拼写该单词 . 如果它由多个单词组成,则将每个后续单词的首字母大写 . 名称gearRatio和currentGear是此约定的主要示例 . 如果变量存储常量值,例如static final int NUM_GEARS = 6,则约定会略有变化,将每个字母大写并用后缀字符分隔后续单词 . 按照惯例,下划线字符从未在别处使用过 .

    通过:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

    编辑:另一种方式,如果你真的想这样做 .

    如果您确实需要在特定变量上映射字符串值 . 您可以使用HASH MAP

    Map<String,String> stringMap = new HashMap<String,String>();
     stringMap .put("xmlns:xsi", "variableValue");
    
  • 0

    不,你不能创建包含:字符的变量,请参考下面的文档:

    https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

    变量名称区分大小写 . 变量的名称可以是任何合法的标识符 - Unicode字母和数字的无限长度序列,以字母开头,美元符号“$”或下划线字符“” . 但是,惯例是始终使用字母开头,而不是“$”或“” . 此外,按照惯例,美元符号字符根本不会被使用 . 您可能会发现某些情况,其中自动生成的名称将包含美元符号,但您的变量名称应始终避免使用它 . 对于下划线字符存在类似的约定;虽然用“_”开始变量的名称在技术上是合法的,但不鼓励这种做法 . 不允许有空白区域 . 后续字符可以是字母,数字,美元符号或下划线字符 . 约定(和常识)也适用于此规则 . 为变量选择名称时,请使用完整单词而不是隐藏缩写 . 这样做可以使您的代码更易于阅读和理解 . 在许多情况下,它还会使您的代码自我记录;例如,名为cadence,speed和gear的字段比缩写版本(如s,c和g)更直观 . 另请注意,您选择的名称不得是关键字或保留字 . 如果您选择的名称只包含一个单词,则以全小写字母拼写该单词 . 如果它由多个单词组成,则将每个后续单词的首字母大写 . 名称gearRatio和currentGear是此约定的主要示例 . 如果变量存储常量值,例如static final int NUM_GEARS = 6,则约定会略有变化,将每个字母大写并用后缀字符分隔后续单词 . 按照惯例,下划线字符从未在别处使用过 .

  • 0

    不, : 不是Java标识符中的合法字符 .

  • 0

    您不能在变量名中使用 : 字符 . 变量名在运行时不存在无论如何,给这样一个名字是没有好处的 .

    如果要使用字符串 xmlns:xsi 来引用值,请使用Map .

    Map<String, String> map = new HashMap<String, String>();
    map.put("xmlns:xsi", "foo");
    

相关问题