Java功能

时间:2010-02-18 13:38:31

标签: java macros

Java是否具有以下任何内容

  • 迭代所有私有字段的方法
  • 类似smalltalk符号的东西 - 即用于快速比较静态字符串的东西?

注意我正在尝试模仿黑色的枚举 (有点担心一个简单的字符串 - > int字典的速度),我很确定没有它们 请尽量不要包含代码 - 只是引用我想自己编写代码。

反思似乎很有意思,难以简单地使用?你可以用它访问字段名称吗?你能用普通的blackbery java程序吗?

2 个答案:

答案 0 :(得分:3)

  • 你到底是什么意思?如果你在谈论预处理宏,那么就没有这样的东西了。 Java没有预处理器(但是没有什么能阻止你在构建过程中使用外部处理器。)
  • Reflection可用于迭代类的字段和方法,但它不是真正的第一类构造,用于高级开发(通常在库中)
  • Smalltalk符号的一些使用非常干净地映射到enums,其他人没有。请注意,enum基本上是type-safe enum pattern的一个很好的语法糖,可以在Java 5之前实现。

答案 1 :(得分:3)

  • 不,没有宏,我也不知道有什么相似之处。
  • 您可以使用反射来访问任何字段或迭代它们。
  • 不确定,但我不这么认为。字符串始终是Java中的对象,并且始终必须使用equals()
  • 进行比较