我正在学习使用 Java 进行 TCP 和 UDP 套接字编程,我正在为我的网络类(class)阅读的其中一本书有以下行:
DatagramPacket receivedPacket = new DatagramPacket(receiveData, receiveData.length);
String modifiedSentence = new String(receivedPacket.getData());
其中 receivedPacked 只是一个 DatagramPacket 类型的对象,而 modifiedSentence 存储从服务器返回的内容。在这种情况下,ReceivedPacket.getData() 在存储之前将数据包从字节转换为字符串。
我的问题是为什么要创建一个字符串对象并将转换后的数据包存储/传递给它而不是使用以下内容:
String modifiedSentence = receivedPacket.getData();
这行不通吗?我认为在 Java 中专门创建一个 String 类的对象是不切实际的。
最佳答案
DatagramPacket.getData()
返回字节数组而不是字符串。因此,您需要将其转换为字符串以将其分配给字符串。
关于java - UDP 套接字编程(提取数据,将其存储在字符串中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14968492/