java - Java中从字符串中提取字符

标签 java string char

我是用 Java 编程和运行此代码的初学者

 String demo = "This is first string";
 char ch[]= demo.toCharArray();
 System.out.println(ch);

输出:

 This is first string

同时,

 System.out.println("result is "+ch);

输出:-(显示与对象内存相关的哈希码)

 result is: someHashcode

1)为什么我们有不同的输出(上面提到的代码)?这里到底发生了什么。

另一方面

 int num[]={1,2,3,4};
 System.out.println(num);

输出:-

 somehashcode

2)这在 char 数组情况下不起作用(如上面首先提到的代码)并以 hashcode 形式给出输出,为什么?

最佳答案

PrintStream 已重载字符数组的 println 方法。当您将字符数组传递给它时,它会像字符串一样打印其中的字符。

然而,当您传递其他类型的数组时,它会将其视为对象 - 它的 toString() 表示形式会被打印出来。

在这个例子中:

System.out.println("result is "+ch);

您要将数组附加到字符串文字中,因此 chtoString 形式将附加到文字中,这就是为什么您没有得到预期结果的原因。

关于java - Java中从字符串中提取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27070031/

相关文章:

java - 如何从多个其他文本文件创建一个文本文件?

java - 在字符串列表中搜索

C++ 构造函数和隐式字符串转换

css - 哪个英文字母占据了最多的像素?

java - 如何使用 Rational Software Architect 中的 findbugs?

java - 如何在 selenium webdriver for java 中通过索引查找元素

java - 调试和运行 GWT/GAE 应用程序的客户端/服务器代码

java - ImageJ 嵌入网站

C++ cin 在接受值之前需要 2 个或更多输入

c - 从 C 中的字符串数组打印 'triangle' 个字符