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

为什么Java中的toString方法似乎不适用于数组

轩辕实
2023-03-14
问题内容

我想使用Java中的toString()方法将字符数组转换为字符串对象。这是我使用的测试代码的片段:

import java.util.Arrays;
class toString{
    public static void main(String[] args){
        char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'};
        System.out.println(Array.toString());
        }
}

原则上,它应该打印abcdef,但是每次程序执行时它都打印[C @ 6e1408或[C @ e53108]之类的乱码。我不需要替代方案,但想知道为什么会这样。


问题答案:

为了使人可读toString(),你必须使用Arrays.toString(),例如:

System.out.println(Arrays.toString(Array));

Java的toString()数组是print [,其后是代表数组元素类型的字符(在你的情况下Cchar),然后@是数组的“身份哈希码”(想像它就像是一个“内存地址” )。

这种可悲的状况通常被认为是Java的“错误”



 类似资料:
  • 问题内容: 我需要在我的老师不让我们使用IDE的前提下对此进行开头。我们使用TextPad。我要单击此标签,然后将其从“ H”更改为“ T”。目前,当我单击标签时,没有执行任何操作。我忘记了什么? 问题答案: 您的工具,但您还需要告知将事件发送给自己。在构造函数的最后,您需要说 如果您还记得可以将 任何 类放入,并且必须将您的侦听器连接到,则这更有意义。本身是侦听器这一事实并不能免除您的这种责任。

  • 我一直在使用URLConnection。guessContentTypeFromName(String fname)来检测我需要在标头中使用什么mime类型来返回不同的文档。 在我用测试程序测试之前,它工作得很好 。我可以通过测试使它工作。jpg或测试。pdf,但不带测试。csv。 我没有问题获得pdf和jpg扩展的良好mimetype,但csv扩展接收null。 我似乎在谷歌上找不到任何理由来解

  • 问题内容: 在Java 1.7.0_55中,如果我编写此字段声明,则会收到编译错误(“不兼容的类型”): 如果我将其改为: 它编译良好。(我在这里以syncedMap为例,但其他Collections方法,不可修改,同步等也是如此) 但是,为什么钻石操作员不能像我在这里期望的那样工作?由于Collections.synchronizedMap()声明为: 在我看来,构造函数调用的类型参数必须与字段

  • 问题内容: 当我执行以下命令时,几秒钟后会被调用,并且每秒钟都会继续执行而不会出现任何问题: 但是,这将 立即 执行 , 并在第二次迭代时引发以下错误: 错误: 似乎是/正在某种程度上成为。有人可以解释为什么这是预期的行为(无论如何,我认为是这样)? 我可以很轻松地解决这个问题,但是我很好奇为什么它会这样工作-使得参数值的传递变得不那么方便,因为我无法在语句内部进行操作。 问题答案: 接受功能对象

  • 问题内容: 我正在使用JDBC连接到MySQL服务器(我认为没有连接池)。在连接网址中,我有 但是我的连接仍然超时。我什至检查了它的错误。但是,当我尝试使用连接时,出现以下异常。 我知道在Java 1.6中可以使用它来检查连接,但是我正在使用Java 1.5 有没有办法确保它不会超时?还是我必须升级到Java 1.6? 问题答案: 我有同样的问题,这绝对令人发疯。这是文档在MySQL网站上的内容(

  • 我正在使用二分模块搜索并将sha256哈希插入列表。 我有大约8,000,000项要搜索和添加,它们存储在sqlite数据库中,我想把它们读入列表,这样我就可以更快地搜索它们。 我遇到的问题是,使用二分法将项目插入列表以找到正确的插入点非常慢。完成所有8000000个项目大约需要700秒。 按升序在sqlite数据库中创建索引只需要大约90秒,然后依次将索引插入列表大约需要60秒。 问题是当我这样