在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/