Используйте набор результатов метода класса в другой метод класса - PullRequest
0 голосов
/ 11 мая 2018

У меня есть класс A, в котором есть метод Method1, в Method1 я хочу передать «rs» методу класса B. как мне это сделать? пробуй разные вещи но безуспешно.

Примечание: я не писал полный код метода, а просто дал сценарий, чтобы найти решение от вас.

public class A {

    Resultset rs = null;

    public void method1() {

        this.rs = this.stmt.executeQuery(this.query);

        // while (this.rs.next()) {
        // int id = rs.getInt("node_Id");
        // String name = rs.getString("node_Name");
        // String par = rs.getString("node_Parent");
        // int lvl = rs.getInt("node_Level");
        // System.out.println(+id+" "+name+" "+par+" "+lvl);}

        if (success == 0) {
            this.conn.rollback();
        } else {
            System.out.println("rs" + rs);
            this.conn.commit();
        }

    }

теперь я хочу использовать переменные id, name, par, lvl в другом методе класса, например Следующий

public class B{

    public void usage(){    
         //in here i want to get the varibles id,name,par,lvl 
    }
}

1 Ответ

0 голосов
/ 11 мая 2018

Прямо сейчас вы сделали эти переменные локальными переменными внутри method1() (что, кстати, действительно плохое имя для метода - всегда используйте имена, которые означают что-то(даже в примерах).

Из-за этого вы можете только передать их, а затем пройти мимо, например

B someB instance = ... // however that gets created
while (this.rs.next()) {
  int id = rs.getInt("node_Id");
  someB.doSomethingWith(id);

Вот и все.Но подход лучше будет иметь, скажем, класс C, который охватывает вокруг всей информации, которую вы хотите передать.

Затем, вместо создания и передачи отдельных значений, вы должны собрать необходимые значения и использовать их для создания экземпляра вашего нового класса C.И затем вы передаете этот объект любому методу, который будет нуждаться в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...