【问题标题】:Can java make addition in the list of reserved words. Addition to the keywords in javajava可以在保留字列表中进行添加吗?在java中添加关键字
【发布时间】:2015-09-14 14:46:12
【问题描述】:

看起来 JAVA 创建者可以在 Java 的保留字(即关键字)中添加新内容。由于 java 非常冗长,并且世界各地的应用程序可能具有可能与 java 中新添加的关键字匹配的变量名称。在 JAVA 的基础上进行这样的更改会有什么影响,或者让我将其推广到所有语言。

【问题讨论】:

  • 20年加了3个关键词,所以有可能会发生。但是在编译java程序的时候总是可以指定你所针对的语言版本,所以我想影响应该不会太大。
  • @dotvav 我知道enumstrictfp。另一个是什么?
  • @PaulBoddington assert 在 2002 年被添加到 Java 1.4
  • 啊,就是这样。谢谢
  • @ACV 显然 enumassert 正在使用中:)

标签: java keyword


【解决方案1】:

可以通过-source参数告诉Java使用哪个版本的语言:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html

-源发布
指定接受的源代码版本。

因此,您可以使用 Java 8 JSDK 构建程序,即使它是使用 Java 1.4 语言规范开发的并且您使用 enum 关键字。没有任何问题,您只需要使用-source 1.4 进行编译。

当然,如果您需要迁移到更高版本的 Java 以使用一些新的语言功能,那么您将不得不对其进行重构并修复编译问题。

值得注意编译后,该程序应该可以在任何较新版本的 Java 上运行。您可以使用 Java 7 SDK 并使用 -source 1.4 编译一些 Java 1.4 代码,然后在 Java 5 或 Java 8 JRE 上运行它。

【讨论】:

  • 是的,所以基本上如果你的程序不能在新版本上运行,你可以切换到使用旧的源代码
  • 我在javac源码中找到了这个:public boolean More ...allowEnums() { return compareTo(JDK1_5) >= 0; } 然后调用这个方法看是否允许枚举
【解决方案2】:

是的 oracle 可以在 java 保留关键字列表中添加 截至 2019 年 3 月 4 日,有:- 57个关键词,55个正在使用,2个未使用

关键字列表是:-

  1. 摘要

  2. 断言(在 1.4 中添加)

  3. 布尔值
  4. 打破
  5. 字节
  6. 案例
  7. 赶上
  8. 字符
  9. 继续
  10. 默认
  11. 其他
  12. 枚举
  13. 导出 (Java 9)
  14. 扩展
  15. 最终
  16. 终于
  17. 浮动
  18. 如果
  19. 实现
  20. 导入
  21. 实例
  22. int
  23. 界面
  24. 模块 (Java 9)
  25. 原生
  26. 私人
  27. 受保护
  28. 公开
  29. 需要 (Java 9)
  30. 返回
  31. 静态
  32. strictfp
  33. 超级
  34. 切换
  35. 同步
  36. 这个
  37. 抛出
  38. 瞬态
  39. 试试
  40. 无效
  41. 易变
  42. 同时
  43. 真(字面量)
  44. null(字面量)
  45. 假(字面量)
  46. var(Java 10 起)
  47. 常量(未使用)
  48. 转到(未使用)

在 java 9 和 10 中添加的 4 个新关键字是:- 导出、模块、要求和 var

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2014-10-26
    • 2011-09-09
    • 2011-07-11
    • 2014-09-10
    相关资源
    最近更新 更多