我有一个类定义如下:
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
这个输出是什么意思?如何更改此输出以使其包含我的人名?我如何打印我的对象集合?
注意:这是关于此主题的规范问答.
我正在尝试使用该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的文档中一样:
字符串表示由数组元素的列表组成,用方括号括起来("[]").相邻元素由字符","(逗号后跟空格)分隔.
我正在学习C#,我想知道重写的重点和好处是什么ToString,如下例所示.
这可以用更简单的方式完成,使用没有覆盖的常用方法吗?
public string GetToStringItemsHeadings
{
get { return string.Format("{0,-20} {1, -20}", "Office Email", "Private Email"); }
}
public override string ToString()
{
string strOut = string.Format("{0,-20} {1, -20}", m_work, m_personal);
return strOut;
}
Run Code Online (Sandbox Code Playgroud) java中是否有任何函数像toString()一样打印一个String数组?
这是一个愚蠢的问题,但我想知道除了编写for循环之外是否还有其他方法.
谢谢.
是否可以将byte[](字节数组)放入JSON?
如果是这样,我怎么能在java中这样做?然后读取该JSON并再次将该字段转换为byte[]?
我想使用java中的toString()方法将字符数组转换为字符串对象.这是我使用的测试代码的片段:
import java.util.Arrays;
class toString{
public static void main(String[] args){
char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'};
System.out.println(Array.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
原则上,它应该打印abcdef,但是每次程序执行时都会打印[C @ 6e1408或[C @ e53108]等随机乱码.我不需要替代,但想知道为什么会发生这种情况.
假设,我有一个数组:
int[] arr = new int[] {1, 2, 3, 4, 5, 6, 7};
Run Code Online (Sandbox Code Playgroud)
我需要使用分隔符连接其元素,例如," - "因此我应该得到这样的字符串:
"1 - 2 - 3 - 4 - 5 - 6 - 7"
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
我用了这段代码。我很困惑为什么此int数组未转换为对象vararg参数:
class MyClass {
static void print(Object... obj) {
System.out.println("Object…: " + obj[0]);
}
public static void main(String[] args) {
int[] array = new int[] {9, 1, 1};
print(array);
System.out.println(array instanceof Object);
}
}
Run Code Online (Sandbox Code Playgroud)
我期望输出:
Object…: 9
true
Run Code Online (Sandbox Code Playgroud)
但它给出:
Object…: [I@140e19d
true
Run Code Online (Sandbox Code Playgroud) 小背景:
我的csv文件有很多行,每行都有字符串元素,这样一行的例子就是
String[] data = [20,11,Clothing,TShirts,Abercombie,Gap]
data.toString() = [Ljava.lang.String;@1152e94]
Run Code Online (Sandbox Code Playgroud)
现在在我的解析器中,我正在解析此csv文件并将每行存在于文件中
String[] data.在我的日志页面中,我需要id和文件中的行.
目前,如果我尝试打印然后得到像这样的值 [Ljava.lang.String;@1152e94,我的问题是如何获得数组元素的实际列表[20, 11, Clothing, TShirts, Abercombie, Gap]?
尝试使用默认toString()但仍然提供相同的LString数据.