这是不好的风格,并且在Java中的任何标识符中使用$可能有风险.它的风险在于$字符被保留用于使用Java工具链和第三方语言工具.
> Java编译器在内部类和嵌套类的“内部”类名中使用它.
它由Java编译器以合成属性的名称使用.
>它可以被第三方代码生成器(例如注释处理器)用于各种目的.
>它可以被目标为JVM平台的其他语言使用,并且可能需要与您的代码共存.
您现在可能不会有一个简单的$classname的技术问题(至少对于标准的Java工具链).但是,将来会有变化的可能性:
>他们保留改变这一点的权利.
>在_示例中有一个这样做的先例.
如果真的,真的需要一个单字符的类名,最好是安全地使用F或Z,或者其他不保留的东西.
但是说实话,我觉得你最好试图实现(或只是使用)一个真正的功能语言,而不是把一个功能性的编程“系统”变成Java.或者也许,只是在正式发布之前切换到Java 8. “Cos我为一个拒绝阅读/维护一个看起来像jquery的Java代码库.
I don’t mean to create a functional lib for Java, just want to create a lib to maintain some common utilities I used. Again, I am a advocate of minimalism and feel suck with things like apache commons. The functional stuff is added to help me easier to manipulate collection(s).
如果是你的代码,你可以做你喜欢的事情.做出自己的决定.根据你的意见行事成为“冒险者”… :-). (我们对$,etcetera …的建议是无可奈何的)
但是,如果您为客户或雇主编写此代码,或是为了创建(可行)开源产品,则需要考虑其他人的意见.例如,如果您在其他地方找到更好的薪水工作,您的老板就需要知道如何维护您的代码.一般来说,下一个人能否弄清楚,保持你的代码,新鲜等等,否则将被委托给垃圾箱?