为什么有时候施法会不起作用,但是String.valueOf()
呢?对于将当前类型转换为String的相同功能,它们是否都存在?
例如:
addgui.getIdField().setText(String.valueOf(jtable.getValueAt(rowNum, 0)));
这里jtable.getValueAt(rowNum, 0)
返回一个Integer值,如果我直接将它转换为String,它会导致eroor,但是String,valueOf会起作用。
答案 0 :(得分:0)
请注意String.valueOf(Object)
调用Object.toString()
,从中创建String
并将其分配给Object
。
转换只会将object2
分配给object1
,如果它们都具有相同的类型,它将起作用。否则,表达式将抛出ClassCastException
。
实施例
Object a1 = "abc";
String s =(String)a1; //this works
但这会给你一个ClassCastException
int b = 1;
Object c = b;
String s1 =(String)c;
String.valueOf()
转换为String