当前位置: 首页 > 面试题库 >

Java中writeByte()的数值限制

南宫才艺
2023-03-14
问题内容

顾名思义,数据输出流方法writeByte(int)在流上写入一个1字节int。

这有什么限制?是256还是带符号的-128到127?


问题答案:

writeByte(int)调用write(int)。的文档write(int)说:

将指定的字节(参数b的低8位)写入基础输出流。

因此,int参数所位于的整数范围无关紧要。两个相差倍数的参数256将导致写入相同的字节。

一种简单的测试方法是使用ByteArrayOutputStream。试试这个程序:

public static void main(String[] args) throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(baos);
    dos.writeByte(-128);
    dos.writeByte(-128 + 256);
    System.out.println(Arrays.toString(baos.toByteArray()));
}

输出是[-128, -128]因为相同的内容byte已被写入两次。



 类似资料:
  • 通过执行一个简单的循环创建线程java程序,当我使用-Xmx2048M时,AIX的线程数限制在900左右,当我将该参数降低到-Xmx1024M时,线程数限制增加到2000左右。我的ulimited属性都是无限的:ulimited-a时间(秒)无限文件(块)无限数据(kbytes)无限堆栈(kbytes)无限内存(kbytes)无限核心转储(块)无限nofile(描述符)无限线程(每个进程)无限进程

  • 问题内容: 我想设置一个最大长度,以使你输入的字符不能超过限制。这是我到目前为止的代码… 有什么简单的方法可以限制字符数? 问题答案: 你可以执行以下操作(从此处获取): 编辑:看看这个以前的SO职位。你可以拦截按键事件,并根据文本字段中的当前字符数添加/忽略它们。

  • 问题内容: 在Java中,有没有一种方法可以将值的类型参数与键的类型参数绑定在一起?我要写的是如下内容: 也就是说,我可以针对Class对象存储任何默认值,只要该值的类型与Class对象的类型匹配即可。我不明白为什么不应该这样做,因为我可以确保在设置/获取值时类型正确。 编辑:感谢克莱特斯的回答。我实际上不需要映射本身上的类型参数,因为我可以确保获取/设置值的方法的一致性,即使这意味着使用一些稍微

  • 我试图计算数据中几列(第一列除外)的平均值和标准差。具有<code>NA<code>值的帧。 我试过< code>colMeans、< code > sappy 等。,创建一个循环,遍历data.frame,然后将平均值和标准偏差存储在一个单独的表中,但不断得到一个“有趣的”错误。任何帮助都是巨大的。谢谢 一个

  • 有什么办法解决这个问题吗?

  • 问题内容: 我用来优化一个实际问题,答案只能是整数。我当前的代码如下所示: 这样产生: 但是我希望使用整数值对其进行优化(将所有数值四舍五入到最接近的整数并不总是给出最小值)。 有没有办法只使用整数值? (我想我可以创建一个具有所有可能排列的数组,并为每个组合评估f(x),但这似乎不是一个非常优雅或快速的解决方案。) 问题答案: 纸浆溶液 经过研究,我认为您的目标函数不是线性的。我在Python纸