【问题标题】:Use Special Character "$" in Kotlin/Java Variable Name在 Kotlin/Java 变量名中使用特殊字符“$”
【发布时间】:2019-05-27 13:49:28
【问题描述】:

预期

在命名 Kotlin 或 Java 变量名时使用特殊字符“$”的能力。 EventRegistry (Example 4) 的 API 要求将子查询命名为“$query”。 是否有 Kotlin 或 Java 变通方法可以在变量名中使用“$”?

文档

示例 4 - 请求正文

{
    "action": "getArticles",
    "query": {
        "$query": {
            "$and": [
                {
                    "dateStart":"2017-04-22",
                    "dateEnd":"2017-04-22"
                },
                {
                    "$or":[
                        {
                            "conceptUri":{
                                "$or":    ["http://en.wikipedia.org/wiki/Barack_Obama"]
                            }
                        },
                        {
                            "keyword":"Trump"
                        }
                    ]
                },
                {
                    "categoryUri":"dmoz/Business"
                }
            ]
        }
    },
    "articlesPage": 1,
    "articlesCount": 100,
    "articlesSortBy": "socialScore",
    "articlesSortByAsc": false,
    "articlesArticleBodyLen": -1,
    "includeArticleSocialScore": true,
    "resultType": "articles",
    "apiKey": "YOUR_API_KEY"
}

结果

尝试以下操作时会引发 Lint 错误:

data class Query(val $query: SubQuery)

【问题讨论】:

  • 感谢您确认@ElliottFrisch。我将联系 API EventRegistry 的制造商,了解解决方法。
  • 我只是仔细检查了一遍。 int $q = 1; 是合法的。又是什么问题?哪种语言和哪种 lint?
  • @forpas,太棒了!我会试一试并报告。您想为您的解决方案创建答案吗?另外,如果您认为这对其他人有用,请投票。
  • 在 Java 中,$ 不是特殊字符。变量名可以在任何位置包含任何货币符号。

标签: java json kotlin


【解决方案1】:

对于 Kotlin
用反引号括住名称(ascii 代码 96):
`$query`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多