2010-02-18 39 views
3

確實Java的有像下列任何Java功能

  • 方式的東西給所有私有字段遍歷
  • 像Smalltalk的符號,即一些靜態字符串的比較快?

注意到我試圖仿效枚舉的blackckbery (約速度有點擔心一個簡單的與字符串> INT字典)這我相當肯定不會讓他們 請儘量不要包括代碼 - 只是參考我想自己編寫代碼。

反思似乎很有趣,難以簡單使用嗎?你可以使用它訪問字段名稱嗎?你可以用一個普通的blackbery java程序來使用它嗎?

+0

這是一個奇怪的問題,你想要什麼這些東西? – 2010-02-18 14:11:38

+0

看看上面的註釋 – 2010-02-18 14:28:05

+0

'HashMap '和'Enum'之間的速度差別不大,儘管'HashMap'可能會佔用更多的內存。你有個人簡介嗎? – 2010-02-18 15:00:49

回答

3
  • 你是什麼意思的宏?如果你正在談論預處理宏,那麼就沒有這種東西。 Java沒有預處理器(但是沒有什麼能阻止你在構建過程中使用外部處理器)。
  • Reflection可用於遍歷字段和類的方法,但它不是一個真正的一流的結構和意味着先進的開發(通常是一個庫裏面)
  • 一些使用Smalltalk的符號很乾淨映射到enums,其他人沒有。請注意0​​基本上是type-safe enum pattern的一些很好的語法糖,也可以在Java 5之前的版本中實現。
+0

是預處理宏 – 2010-02-18 14:32:42

3
  • 沒有,有沒有宏和我不知道的任何類似。
  • 您可以使用反射來訪問任何字段或迭代它們。
  • 不確定,但我不這麼認爲。字符串始終是Java中的對象,並且始終必須使用equals()