我的问题更多的是编码惯例和练习 - 但是对内存或性能有什么影响吗?约定在传递给方法之前将空值命名为引用?
我有这样一个方法,它接受SOMETYPE的数据:
public void someMethod(SomeType sm) {
//does something
}
Practice #1:
public void callerMethod() {
SomeType someName = null;
someMethod(someName);
}
Practice #2:
public void callerMethod() {
someMethod(null);
}
不实践#1内存基准制作任何影响,程序员甚至应该考虑的?并且是“首选做法”?
应该将练习#2作为“不良练习”避免,因为它没有给出关于通过什么数据为空的任何线索?另外它会在重载方法的情况下产生问题?
所有'null'值是相同的,它们没有类型。你可以添加像这样的变量来使代码更加自我记录,但它们没有任何区别(除非你有方法重载) –
我会说(完全主观)方法1,而它可以用来消除重载方法之间的歧义,对我来说似乎很特别。这肯定会让我停下来思考“这到底是怎么回事?”几秒钟,当我读它时,而'someMethod((SomeType)null)'不会。 – biziclop