gpt4 book ai didi

java - 使用 System.out.println(arr) 在 java 中打印一维字符数组和整数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:32 25 4
gpt4 key购买 nike

我正在使用 System.out.println(arr) 打印一维字符数组,我得到数组中的字符(不是空格分隔)。当我通过添加“/t”来执行相同操作时,输出会发生变化,它现在会打印 char 数组的地址。

我尝试使用 System.out.println(arr) 打印一维整数数组,但结果不同,它打印了数组在内存中的位置。

请说说这是怎么回事,是如何实现的。

import java.io.*;
import java.math.*;
import java.util.*;
import java.lang.*;

class Main3{

public static void main(String[] args)throws java.lang.Exception{
int[] intArr = {1,2,3,4};
char[] charArr = {'a' , 'b' };
System. out.println(intArr); // prints the address of the intArr
System. out.println(charArr); // prints the charArr contents
System.out.println("\t" + charArr); // prints the address of the charArr after a tab
}
}

最佳答案

PrintStream有一个method接受 char[]

但是,当您执行 "\t"+ charArray 时,java 会尝试执行 String concatenation .为此,它首先必须使用 Object#toStringcharArray 转换为字符串。方法(JLS 5.1.11)。然后它将字符串传递给 println

关于java - 使用 System.out.println(arr) 在 java 中打印一维字符数组和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com