我有一个带有setter和getter方法的字符串数组selectCancel
,这是我表单中的一个复选框。我正在尝试获取已检查的值,并且在打印时获得上述结果。
我尝试了Arrays.toString()
方法,但它仍然打印相同。
然后我做了以下事情:
String checked = Arrays.toString(Employee.getSelectCancel());
我也尝试了Arrays.asList()
和Arrays.copyOf()
那么,我该如何阅读这个字符串?
答案 0 :(得分:66)
如果提供数组,方法。
的输出String[] helloWorld = {"Hello", "World"};
System.out.println(helloWorld);
System.out.println(Arrays.toString(helloWorld));
是
[Ljava.lang.String;@45a877
[Hello, World]
(@
之后的数字几乎总是不同)
请告诉我们Employee.getSelectCancel()
答案 1 :(得分:19)
Ljava.lang.String;@
,其中您使用字符串数组作为字符串。 Employee.getSelectCancel()
似乎没有返回String[]
答案 2 :(得分:5)
根据Java虚拟机规范(Java SE 8),JVM §4.3.2. Field Descriptors:
FieldType term | Type | Interpretation -------------- | --------- | -------------- L ClassName ; | reference | an instance of class ClassName [ | reference | one array dimension ... | ... | ...
表达式[Ljava.lang.String;@45a877
表示这是类java.lang.String([
)的数组(Ljava.lang.String;
)。 @45a877
是String对象存储在内存中的地址。
答案 3 :(得分:5)
[
代表一维数组
Ljava.lang.String
代表字符串类(L 后跟类/接口名称)
几个例子:
Class.forName("[D")
-> 原始双精度数组Class.forName("[[Ljava.lang.String")
-> 二维字符串数组。符号列表:
元素类型:符号
布尔值:Z
字节:B
字符:C
类或接口:Lclassname
双:D
浮动:F
内部:我
长:J
短:S
答案 4 :(得分:0)
当我为Android应用程序制作ListView时,我也遇到了这个问题:
Map<String, Object> m;
for(int i=0; i < dates.length; i++){
m = new HashMap<String, Object>();
m.put(ATTR_DATES, dates[i]);
m.put(ATTR_SQUATS, squats[i]);
m.put(ATTR_BP, benchpress[i]);
m.put(ATTR_ROW, row[i]);
data.add(m);
}
问题是我忘了在循环中使用[i]
索引
答案 5 :(得分:0)
我也遇到了同样的问题: 我制定了自己的方法: 所以如果我要调用这样的方法:
Show("Additional String like this:"+ MyArray);//wrong command
有错误! 它必须没有“像这样的附加字符串:” 就这样做:
Show(AnyArray);//right command
package j;
class J{
public static String [] AnyArray = new String[3];
public static void main(String[] args) {
AnyArray[0]="String_0";
AnyArray[1]="String_1";
AnyArray[2]="String_2";
/******************************************************/
Show(AnyArray); //right
/*****************************************************/
Show("Additional String like this"+AnyArray);//wrong
/****************************************************/
}
public static void Show(String[] MyArray)
{
for(int i=0;i<=MyArray.length-1;i++){
System.out.println("MyArray ["+i+"]: "+MyArray[i]+"");
}
}
public static void Show(String MyString)
{
System.out.println(MyString);
}
}