我认为自己在Java方面经验丰富,但仍有一些基础知识不是很确定。
我总是尽力编写易于维护和阅读的代码,并且追求最高效率。例如,仅在真正需要时才调用“new”运算符。
这是因为我不想无谓地分配内存。但支持变量怎么办?
许多人倾向于声明一个字符串仅仅为了赋值一些冗长的方法调用,例如:
String helper = Class.method1().method2(param).getter();
我总是在想这是否会分配比必要更多的内存。getter已经返回一个新对象,现在还通过引用分配了更多内存。当我使用getter超过一次时,帮助程序很方便,但如果只需要一次,直接传递该方法岂不更好? 这实际上是否会将内存分配到堆上?
Object a, b, c, d, e ,f , g, h, i, j ...;
我希望一些比我更有经验的Java专家能告诉我如何处理这种基础的东西。谢谢 :)
Class.method1().method2(param).getter()
这种写法明显违反了德米特法则(最少知识原则),使得代码与其依赖紧密耦合,因此更难以维护。 - Mick Mnemonic