繁体   English   中英

Java命名-字节缓冲区读取器/写入器或输入/输出流?

[英]Java Naming - byte buffer reader/writer or input/output stream?

通过几个不同的项目,我可以看到相同项目的两种不同命名。

哪一个是正确/错误的,还是相对于另一个更普遍理解的?

项目1:

//reading
byte[] data;
InputStream is = new InputStream(data);
int value = is.getUnsignedByte();

//writing
OutputStream os = new OutputStream(16); //arg0 = capacity (not revelant here)
os.writeByte(value);

专案2:

//reading
byte[] data;
ByteBufReader reader = new ByteBufReader(data);
int value = reader.getUnsigned(DataType.BYTE, DataOrder.REGULAR);

//writing
ByteBufBuilder builder = new ByteBufBuilder(16); //arg0 = capacity (not revelant here)
builder.put(DataType.BYTE, DataOrder.REGULAR, value);

这两个类都不是Java SE类库中的类。

  • 没有ByteBufReader类。
  • 有一个InputStream类,但是它的API与您的代码使用它的方式不兼容,某些此类必须是不同的。

哪个更正确? 这实际上取决于实际的班级,您还没有向我们展示班级。

但是,使用名称InputStream是一个错误,无论其“正确性”如何。 选择与通用类名相同的类名是一个坏主意。 这对可读性不利。 在这种情况下,Java 8类库中有三个现有的InputStream类。

但老实说,看起来您正在查看的代码应该使用现有的(标准) ByteArrayInputStreamByteArrayOutputStream类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM