Я новичок в Java, и не совсем понятно, почему следующий код не работает должным образом:ява переменная атрибуции внутри метода класса сферы не работает
public class Manager
{
public String ip;
public static String port = "32150";
public Car car;
private SNMPMessenger snmpMessenger;
public SNMPManager(String ip) {
this.ip = ip;
car = new Car();
snmpMessenger = new SNMPMessenger(ip, port);
}
public void updateVehicleChassis() {
snmpMessenger.sendGetRequest(new OID(new int[] {1,3,6,1,4,1,12619,1,1,1,0}), new SNMPResponseListener() {
public void onSNMPResponseReceived(Vector<? extends VariableBinding> variableBinding) {
car.chassis = variableBinding.get(0).toValueString();
System.out.println("inside: " + car.chassis); //HERE I HAVE THE PROPER VALUE
}
});
System.out.println("outside: " + car.chassis); //HERE I HAVE NULL
}
}
Класс автомобиля:
public class Car {
public String chassis;
public String model;
public Car()
{
}
}
Я в основном хочу присвоить переменной variableBinding.get (0) .toValueString() моей переменной car.chassis, но я не понимаю, почему она работает только в области методов onSNMPResponseReceived. Любые идеи?
Заранее благодарен!
_ «атрибут' variableBinding.get (0) .toValueString() 'в моей car.chassis переменной» _ не является содержательным заявлением. Что вы подразумеваете под словом «атрибут»? Вы имеете в виду «назначить»? Кроме того, обновите сообщение, чтобы включить класс «Car». –
* «Я не понимаю, почему он работает только внутри области« onSNMPResponseReceived »», где это должно быть и почему? –
yes @JimGarrison –