Мне интересно знать, что разница, когда я используюРазница между сканированием сканирования = null; и Scan scan = new Scan();
Scan scan = new Scan();
вместо Scan scan = null;
public Scan getScanByColumn1(byte[] columnFamily,Map<String,String> columnMap){
Scan scan = null;
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_SOFTWARE_VERSION);
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_CNUM);
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_SID);
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_HIERARCHY);
return scan;
}
public Scan getScanByColumn2(byte[] columnFamily,Map<String,String> columnMap){
Scan scan = new Scan();
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_SOFTWARE_VERSION);
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_CNUM);
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_SID);
scan.addColumn(columnFamily, ForesightConstants.QUALIFIER_HIERARCHY);
return scan;
}
Когда я использовал Scan scan = null;
Это дает предупреждение, когда я добавить первый столбец объекта сканирования. И предупреждение Null pointer access: The variable scan can only be null at this location
.
Итак, кто-то, пожалуйста, помогите мне узнать, почему я получаю это предупреждение. Моя программа работает нормально со вторым, но просто любопытно узнать причину предупреждения.
Заранее спасибо.
'моя программа работает отлично' Я как-то сомневаюсь, что – pinkfloydx33
@ pinkfloydx33 Может быть, он никогда не называет метод. – Kayaman
@ розовыйfloydx33 вы r право. Я редактировал вопрос, на самом деле я имел в виду, что программа работает нормально с Scan scan = new Scan(); –