write(java.nio.Buffer)有什么问题,JDK无法解析write中的缓冲区

write(java.nio.Buffer)有什么问题,JDK无法解析write中的缓冲区,java,Java,此语法获取编译时错误: serverSocket.write(ByteBuffer.allocate(34.put)(“Hello.getBytes”(“UTF-8”)).flip()) 无法解析方法write(java.nio.Buffer) 而flip()返回此缓冲区。除了flip()索引返回缓冲区,而不是字节缓冲区 ByteBuffer扩展了Buffer,但并非每个Buffer都是ByteBuffer [旁注:切勿直接在字符串上使用.getBytes();始终指定编码]除非flip()索引

此语法获取编译时错误:

serverSocket.write(ByteBuffer.allocate(34.put)(“Hello.getBytes”(“UTF-8”)).flip())

无法解析方法
write(java.nio.Buffer)

flip()
返回此缓冲区。

除了
flip()
索引返回
缓冲区,而不是
字节缓冲区

ByteBuffer
扩展了
Buffer
,但并非每个
Buffer
都是
ByteBuffer

[旁注:切勿直接在
字符串上使用
.getBytes()
;始终指定编码]

除非
flip()
索引返回
缓冲区,而不是
字节缓冲区

ByteBuffer
扩展了
Buffer
,但并非每个
Buffer
都是
ByteBuffer


[旁注:永远不要直接在
字符串上使用
.getBytes()
;始终指定编码]

是的,我刚才看到了,但它的文档有点误导,它说要从中检索字节的缓冲区,你的意思是这个缓冲区不完全是扩展ByteBuffer的缓冲区?它将是相同的(否则会违反合同);但是你必须遵守方法原型:)当然,你可以强制转换,但是添加一两行代码就是解决问题所需的全部——你最终得到了更可读的代码是的,我刚才看到了,但是它的文档有点误导,它表示要从中检索字节的缓冲区,您的意思是这个缓冲区并不完全是扩展ByteBuffer的缓冲区?它将是相同的(否则将违反合同);但是,您必须遵守方法原型:)当然,您可以强制转换,但随后只需添加一两行代码即可解决问题,最终您将获得更可读的代码