我是用 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);
您要将数组附加到字符串文字中,因此 ch
的 toString
形式将附加到文字中,这就是为什么您没有得到预期结果的原因。
关于java - Java中从字符串中提取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27070031/