this NotePadProvider sample code中,我注意到ContentValues参数是重复的,即使它不为null:

ContentValues values;
if (initialValues != null) {
    values = new ContentValues(initialValues);
} else {
    values = new ContentValues();
}


从表面上看,这看起来是多余的。看起来写起来会更有效率:

ContentValues values;
if (initialValues != null) {
    values = initialValues;
} else {
    values = new ContentValues();
}


但这不是样本作者选择的,我的问题是为什么?

最佳答案

它们不相等。原始代码创建了“ initialValues”的副本,然后该方法继续修改​​变量value中的新实例。这样,提供给该ContentValues方法的insert实例不会被该方法修改。

您的版本确实修改了原始对象,该对象可能在程序的其他区域产生不良影响。

关于java - 这个重复的ContentValues实例是否多余?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11831730/

10-10 08:44