Как получить доступ / получить строковые возвращаемые значения открытого статического метода, вложенного в открытый статический класс?Я хочу отобразить строку на экране.
Я пытался использовать частные переменные StringProperty, чтобы setDataString () возвращал значения метода, как показано во фрагменте кода ниже.
Метод с именем "byteToHex (buffer)" - это метод, к возвращаемому значению которого я пытаюсь получить доступ.
public static class SerialPortReader implements SerialPortEventListener
{
final public static char COMMA = ',';
final public static String COMMA_STR = ",";
final public static char ESCAPE_CHAR = '\\';
@Override
public void serialEvent(SerialPortEvent event)
{
if(event.isRXCHAR() && event.getEventValue() > 0)
{
try {
byte buffer[] = serialPort.readBytes();
byteToHex(buffer);
TransCeiveSerialData dataString = new TransCeiveSerialData();
dataString.setDataString(byteToHex(buffer));
/*
* wait some milliseconds before sending next data package to avoid data losses
*/
try {
Thread.sleep(100);
}catch(InterruptedException ie)
{
Logger.getLogger(TransCeiveSerialData.class.getName()).log(Level.SEVERE, null, ie);
}
}
catch(SerialPortException spe) {System.out.println("Error in port listener: " + spe);}
}
}
}
public static String byteToHex(byte x[])
{
StringBuffer retString = new StringBuffer();
for(int i = 0; i < x.length; ++i)
{
retString.append(Integer.toHexString(0x0100 + (x[i] & 0x00FF)).substring(1));
}
return retString.toString();
}
Использование для примера System.out.println("Received data: " + instanceOfClass.getDataString());
inвнешний класс, чтобы получить возвращаемую строку метода, я получаю «ноль».Но я ожидаю получить 31323334353637380d0a.
Я также пытался связать значения, но безуспешно.
Возможно, у вас есть идеи, как я могу решить эту проблему?Ваша помощь будет очень признательна.
Заранее большое спасибо!
AvJoe