如何访问/获取嵌套在公共静态类中的公共静态方法的字符串返回值? 我想在屏幕上显示字符串。
我尝试使用私有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());
来获取方法的返回字符串,我得到一个“空”。但我希望能获得31323334353637637380d0a。
我也尝试绑定值,但没有成功。
您可能对我如何解决此问题有任何想法?非常感谢您的帮助。
非常感谢!
AvJoe