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

用Java打印基本数组

程项禹
2023-03-14
问题内容

我有两个数组:

char[] chars = { '1', '2', '3' };
int[] numbers = { 1, 2, 3 };

为什么打完电话后System.out.print(chars)我收到123后,而System.out.print(numbers)我有像水木清华[C@9304b1

而且,打印后System.out.print("abc" + chars)我也得到了abc[C@9304b1

我知道这[C@9304b1等于chars.toString()方法,但是为什么有时System.out.print仅打印其元素


问题答案:

PrintStream,类型为System.out,该print方法有多个重载,其中一个重载包含一个字符数组(char[]):

public void print(char[] s)

打印字符数组。这些字符将根据平台的默认字符编码转换为字节,并且这些字节将完全按照write(int)方法的方式写入。

因此,在第一个示例中,您将得到123打印。但是,PrintStream由于没有重载print,可以接受an
int[]作为参数,因此,您最终调用print(Object),它将使用toStringan
的方法Object,包括其类型和哈希码。

为了打印int[],您可以Arrays.toString()改用。



 类似资料:
  • 我试图键入数组,但得到 我在谷歌上搜索了一下,我知道了关于这个例外的一切,但是我不能做任何事情来解决这个愚蠢的问题。

  • 当我打印出 我得到的回报是:

  • 问题内容: 我正在寻找一个实用程序,它将使用正确的列长将矩形String [] []打印到人类可读的表中。 问题答案: 如果您想要类似于MySQL命令行客户端输出的内容,则可以使用以下内容: 并像这样使用它: 上面的代码将产生以下输出:

  • 我有一个连接到CUPS的打印机,它支持双面打印,如何通过java例程将其设置为单面打印或双面打印? 我曾尝试使用它的库使用ASET添加和addViewer首选项没有任何运气。 有人能提供一些建议吗?

  • 问题内容: 我有一个文本文件,需要将其打印到特定的网络打印机。我知道打印机的名称。 到目前为止,我已经创建了Printable类来打印文件(票证)。 我这样称呼TicketPrintPage: 它的工作原理还不错,但是: -我的文本不多于一页(找到了一些算法,但是很好) -我不知道打印机何时完成打印,如果我尝试打印两页如果打印机连续打印了多张票证,则会返回“打印机未就绪”消息。 所以问题又来了:没

  • 问题内容: 我有一个: 现在,我想遍历所有值并打印它们。 我这样写: 它似乎不起作用。 问题是什么? 编辑:另一个问题:这个集合是从零开始的吗?我的意思是,如果它具有1个键并且值将为0或1? 问题答案: keySet()仅从哈希图中返回一组键,您应该迭代此键集并使用这些键从哈希图中获取值。 在您的示例中,哈希映射键的类型为,但是您在通用的for循环中指定了密钥,因此无法对其进行编译。您应该将其更改