相关疑难解决方法(0)

打印Java数组最简单的方法是什么?

在Java中,数组不会覆盖toString(),因此如果您尝试直接打印数组,则会获得className + @ + className数组的十六进制,如下所示hashCode:

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray);     // prints something like '[I@3343c8b3'
Run Code Online (Sandbox Code Playgroud)

但通常我们实际上想要更像的东西Object.toString().这样做最简单的方法是什么?以下是一些示例输入和输出:

// Array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
//output: [1, 2, 3, 4, 5]

// Array of object references:
String[] strArray = new String[] {"John", "Mary", "Bob"};
//output: [John, Mary, Bob]
Run Code Online (Sandbox Code Playgroud)

java printing arrays

1852
推荐指数
20
解决办法
217万
查看次数

Java中hashCode的用途是什么?

在Java中,obj.hashCode()返回一些值.这个哈希码在编程中有什么用?

java hashcode

145
推荐指数
6
解决办法
16万
查看次数

如何使用Java中的toString方法将int数组转换为String

我正在尝试使用该toString(int[])方法,但我认为我做错了:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#toString(INT [])

我的代码:

int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;

System.out.println(array.toString());
Run Code Online (Sandbox Code Playgroud)

输出是:

[I@23fc4bec
Run Code Online (Sandbox Code Playgroud)

我也尝试过像这样打印,但是:

System.out.println(new String().toString(array));  // **error on next line**
The method toString() in the type String is not applicable for the arguments (int[])
Run Code Online (Sandbox Code Playgroud)

我从更大更复杂的代码中获取了这些代码,但是如果需要我可以添加它.但这应该提供一般信息.

我正在寻找输出,就像在Oracle的文档中一样:

字符串表示由数组元素的列表组成,用方括号括起来("[]").相邻元素由字符","(逗号后跟空格)分隔.

java arrays tostring

139
推荐指数
5
解决办法
48万
查看次数

为什么没有java.lang.Array类?如果java数组是一个Object,它不应该扩展Object吗?

这是java包树:http: //docs.oracle.com/javase/7/docs/api/java/lang/package-tree.html

我读了一篇关于Java的教程,该教程表明在Java数组中是对象.

数组类在哪里?为什么我们可以制作这样的数组:

byte[] byteArr = new byte[];
char[] charArr = new char[];
int[] intArr = new int[];
Run Code Online (Sandbox Code Playgroud)

并且数组将从Object继承方法; 例如:

    byte thisByte = 1;
    byte thatByte = 2;
    byte[] theseBytes = new byte[] {thisByte, thatByte};
    int inheritance = theseBytes.length; //inherited 'length' field and some methods
    int wasntInWill = thatByte.length; //error
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

编辑:

根据答案,我现在知道它是一个包装finaljava.lang.reflect.

我现在已经java.lang.reflect在我的Android项目中创建了一个包,并为其添加了一个名为Array.java的类.为了确认这是原始类的方式,Eclipse给了我错误"...已存在于path/to/android.jar"

如果我写出同一个类,java.lang.reflect.Array但改变toString()方法......这应该在我的应用程序中正常工作吗?

java arrays object

37
推荐指数
3
解决办法
2万
查看次数

如何以正确的方式打印对象内容?

我有一个ArrayList包含User类中的一些对象.当我打印这些对象时,我得到了:

[User @ 18fd984,User @ 18fd984]

如何以正确的方式打印这些对象?

java object tostring

12
推荐指数
1
解决办法
6万
查看次数

Java数组打印出奇怪的数字和文本

我是编程新手.我确定这个问题的答案就在那里,但我不知道该搜索什么.

好的,我会正确的.

这是我的代码:

int[] arr;
arr = new int[5];

arr[0] = 20;
arr[1] = 50;
arr[2] = 40;
arr[3] = 60;
arr[4] = 100;

System.out.println(arr);
Run Code Online (Sandbox Code Playgroud)

这编译并正常工作.这只是CMD的输出,我很头晕.

这是输出:[I@3e25a5.

我希望输出代表list(arr)中完全相同的数字.我该如何做到这一点?

java arrays text numbers

11
推荐指数
4
解决办法
5万
查看次数

为什么println(数组)有奇怪的输出?( "[Ljava.lang.String; @ 3e25a5")

我有一个字符串数组,其中包含我定义的四个元素.我怎么打字System.out.println(name of Array),它不输出元素?但反而给了我一个奇怪的输出.

这是我的代码......

public class GeniusTrial {

    public static void main(String[]args) {

        String [] genius = {"Einstein, ", "Newton, ", "Copernicus, ", "Kepler."};

        System.out.print(genius);
    }
}   
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

[Ljava.lang.String;@3e25a5
Run Code Online (Sandbox Code Playgroud)

java arrays string

11
推荐指数
3
解决办法
7万
查看次数

为什么默认的Object.toString()返回hashCode的十六进制表示?

我很好奇为什么要Object.toString()回报这个:

return getClass().getName() + "@" + Integer.toHexString(hashCode());
Run Code Online (Sandbox Code Playgroud)

与此相反:

return getClass().getName() + "@" + hashCode();
Run Code Online (Sandbox Code Playgroud)

将哈希码显示为十六进制而不是十进制有什么好处?

java hash tostring hashcode

10
推荐指数
2
解决办法
7522
查看次数

打印出数组列表中的所有对象

可能重复:
如何以正确的方式打印对象内容?

我需要能够在我的数组列表中打印出Student对象(所有变量).这可能吗?当我尝试打印时输出这种东西,例如student.Student@82701e.我认为这是hexadecimal什么的

这是我的代码:

package student;

public class Student {

    private String studentName;
    private String studentNo;
    private String email;
    private int year;


    public Student() {
        this.studentName = null;
        this.studentNo = null;
        this.email = null;
        this.year = -1;
    }

    public Student(String nName, String nNum, String nEmail, int nYr) {
        this.studentName = nName;
        this.studentNo = nNum;
        this.email = nEmail;
        this.year = nYr;
    }

    public void setStudentName(String newStudentName) {
        this.studentName = newStudentName;
    }

    public void setStudentNo(String newStudentNo) {
        this.studentNo …
Run Code Online (Sandbox Code Playgroud)

java printing arrays arraylist

9
推荐指数
2
解决办法
14万
查看次数

System.out.println(对象)的输出

我想知道当我执行以下操作时输出到底是什么.

class Data {
  int a = 5;
}

class Main {
  public static void main(String[] args) {
    data dObj = new data();
    System.out.println(dObj);
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道它提供了与对象相关的东西,因为在我的例子中输出是数据@ 1ae73783.我猜1ae73783是十六进制数.我也做了一些工作并打印出来

System.out.println(dObj.hashCode());
Run Code Online (Sandbox Code Playgroud)

我的号码是415360643.我有一个整数值.我不知道什么hashCode()回归,仍然出于好奇,当我将1ae73783转换为十进制时,我得到了415360643!

这就是为什么我很好奇这个数字到底是什么.这是Java沙箱的一些内存位置还是其他一些东西?

java object

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×10

arrays ×6

object ×3

tostring ×3

hashcode ×2

printing ×2

arraylist ×1

hash ×1

numbers ×1

string ×1

text ×1