与空检查相比,变量赋值是否昂贵?例如,在将foo赋值为null之前,是否值得检查foo是否为空?
if (foo != null) { foo = null; }
或者这是否令人担忧?
这是一种微观微观优化(并且可能由编译器处理).别担心.通过专注于您的程序实际算法,您将获得更大的回报.
我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源. - 唐纳德克努特
这实际上(非常,非常轻微)效率较低.变量赋值大致相当于空值检查,另外还有一个额外的分支.并不是说它有很大的不同.
或者这是否令人担忧?
你说对了.