我有一个String列表,称为Kdb中的Trade。
我下面有一个代码段来打印表格内容:
class AppRecommmend extends PureComponent{
constructor(props){
super(props);
this.state = {
isLoading:false,
};
}
render(){
console.log(this.props.appRecommendData.type); //will show undefined
return(
<div className="component-AppRecommend">
{this.props.appRecommendData.map(appRecommendData=>(
<AppRecommmendCol
imgSource={appRecommendData["im:image"][1].label}
title={appRecommendData["im:name"].label}/>
))}
</div>
);}
}
AppRecommmend.propTypes = {
appRecommendData: PropTypes.oneOfType([
PropTypes.object,
PropTypes.array
])
}
export default AppRecommmend
我看到的所有输出都不可读。我在这里想念什么吗?预先感谢
输出:
c.Flip flip=(c.Flip)c.k("0!select from Trade");
for(int row=0;row<n(flip.y[0]);row++){
for(int col=0;col<flip.x.length;col++)
System.out.print((col>0?",":"")+c.at(flip.y[col],row));
System.out.println();
}
答案 0 :(得分:2)
您看到的是java.lang.Object的默认toString()实现。
https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--
Object类的toString方法返回一个字符串,该字符串包括该对象是其实例的类的名称,符号字符“ @”以及该对象的哈希码的无符号十六进制表示形式。换句话说,此方法返回的字符串等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
类名称为[C,这意味着它是一个char数组,这意味着查询将返回(10) char vectors。最简单的方法(虽然不美观)将是替换
for(int col=0;col<flip.x.length;col++)
System.out.print((col>0?",":"")+c.at(flip.y[col],row));
System.out.println();
使用
for(int col=0;col<flip.x.length;col++) {
Object rowValue = c.at(flip.y[col],row);
System.out.print((col>0?",":"") + (rowValue instanceof char[] ? (char[]) rowValue : rowValue));
}
System.out.println();
或者,您可以使用Arrays.deepToString()方法,但这将在字符串的结尾处包含方括号。
List<Object> rowData = new ArrayList<>();
for(int col=0;col<flip.x.length;col++) {
rowData.add(c.at(flip.y[col],row));
}
System.out.println(Arrays.deepToString(rowData.toArray()));