相关疑难解决方法(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万
查看次数

如何在不获取"SomeType @ 2f92e0f4"的情况下打印我的Java对象?

我有一个类定义如下:

public class Person {
  private String name;

  // constructor and getter/setter omitted
}
Run Code Online (Sandbox Code Playgroud)

我试图打印我的班级实例:

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

但我得到了以下输出:com.foo.Person@2f92e0f4.

当我尝试打印一个Person对象数组时发生了类似的事情:

Person[] people = //...
System.out.println(people); 
Run Code Online (Sandbox Code Playgroud)

我得到了输出: [Lcom.foo.Person;@28a418fc

这个输出是什么意思?如何更改此输出以使其包含我的人名?我如何打印我的对象集合?

注意:这是关于此主题的规范问答.

java string object tostring

283
推荐指数
8
解决办法
29万
查看次数

反转(解析输出)Arrays.toString(int [])

在JDK或Jakarta Commons(或其他任何地方)中是否存在可以解析Arrays.toString输出的方法,至少对于整数数组?

int[] i = fromString(Arrays.toString(new int[] { 1, 2, 3} );
Run Code Online (Sandbox Code Playgroud)

java serialization tostring

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

将int []转换为逗号分隔的字符串

如何int[]在Java中转换为逗号分隔的String?

int[] intArray = {234, 808, 342};
Run Code Online (Sandbox Code Playgroud)

结果我想:

"234, 808, 342"
Run Code Online (Sandbox Code Playgroud)

这里有非常相似的参考问题,但这些解决方案都没有提供我需要的结果.

到目前为止我尝试过的,

String commaSeparatedUserIds = Arrays.toString(intArray); // result: "[234, 808, 342]"
String commaSeparatedUserIds = Arrays.toString(intArray).replaceAll("\\[|\\]|,|\\s", ""); // result: "234808342"
String commaSeparatedUserIds = intArray.toString();  // garbage result
Run Code Online (Sandbox Code Playgroud)

java arrays string int

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

如何编写可在列表和数组上工作的方法?

我有一个看起来像这样的方法:

void foo (List<String> list, ...) {
  ...
  for (String s : list) { // this is the only place where `list` is used
    ...
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果我替换List<String> list,完全相同的代码将工作String[] list,但是,为了避免意大利面条代码,我保持单一方法,当我需要在数组上调用它时a,我这样做:foo(Arrays.asList(a)).

我想知道这是不是正确的方法.

特别,

  • 什么是开销Arrays.asList()
  • 有没有办法编写一个接受数组和列表的方法,就像for循环一样?

谢谢!

java arrays list

4
推荐指数
1
解决办法
1255
查看次数

字符串数组到字符串

我正在尝试使用任意长度的String []并将其打印到String,最好使用字段分隔符.现在我有:

String[] start = {"first", "second", "third"}; //[] to convert
String cC = "";
String finish = ""; // Final String
String cC1 = "";
{
    for (int i = 0; i < puts.length; i++) {
        cC = puts[i] + ", ";
        cC1 = (finish + cC);
        finish = cC1;
    }
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它只返回"第二"值.如何使其正确连接值?

另外,我可以通过使用简化代码finish += cC吗?谢谢.

java type-conversion

0
推荐指数
1
解决办法
201
查看次数