Для класса под названием Analyze и его конструктора Анализ, в котором объект Java JDBC Resultset рассматривается как аргумент.
private Resultset analysisSet
public void Analyse(ResultSet queryResults)
{
analysisSet = queryResults;
queryResults.close();
}
public void doSomeStuff()
{
analysisSet.next() //throws SQL Exception "Closed Resultset : next"
}
Однако, если я прокомментирую инструкцию queryResults.close(), она работает нормально?
Неужели после того, как я назначил объект равным другому, они становятся взаимоисключающими друг к другу?
Если кто-то может объяснить, что здесь происходит.
В C++ я мог бы выполнить полное присваивание, как это, без ссылки, как сделать копию> – kaleeway
Вы можете изучить защищенный метод clone(), который просто копирует все поля, очень похожее на назначение структуры C. Но это не считается очень хорошим методом использования. – h22
Не копируйте его, как только вы закончите использовать его, сначала вызовите(), чтобы сбросить его. Это странный случай использования. Зачем вам две ссылки на тот же ResultSet? –