用java查询KDB
我有一个名为tradeinkdb的字符串列表 我在下面有一个用于打印表内容的片段:用java查询KDB,kdb,Kdb,我有一个名为tradeinkdb的字符串列表 我在下面有一个用于打印表内容的片段: 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.pr
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();
}
您看到的是java.lang.Object的默认toString()实现 class对象的toString方法返回一个字符串,该字符串由对象作为实例的类的名称、at符号字符“@”和对象哈希代码的无符号十六进制表示形式组成。换句话说,此方法返回一个等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
类名是[C,这意味着它是一个字符数组,这意味着查询正在返回
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;col0?”,“:”)+c.at(flip.y[col],row));
System.out.println();
与
for(int col=0;col0?,“:”)+(rowValue instanceof char[]?(char[])rowValue:rowValue));
}
System.out.println();
或者,您可以使用该方法,但这将包括字符串末端的方括号
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()));
List rowData=new ArrayList();
对于(int col=0;col,您看到的是java.lang.Object的默认toString()实现
class对象的toString方法返回一个字符串,该字符串由对象作为实例的类的名称、at符号字符“@”和对象哈希代码的无符号十六进制表示形式组成。换句话说,此方法返回一个等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
类名是[C,这意味着它是一个字符数组,这意味着查询正在返回
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;col0?”,“:”)+c.at(flip.y[col],row));
System.out.println();
与
for(int col=0;col0?,“:”)+(rowValue instanceof char[]?(char[])rowValue:rowValue));
}
System.out.println();
或者,您可以使用该方法,但这将包括字符串末端的方括号
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()));
List rowData=new ArrayList();
对于(int col=0;col)后续问题,如何检查行值中的null。显然,如果为null,它们只返回“func”。除了将null与“func”进行比较外,还有其他有效的方法检查null吗?您可以使用以下静态方法。qn(rowValue);
注意at()
方法实际上调用qn()
方法,如果kdb中的值为null,则返回Javanull
。因此它应该显示为“null”而不是“func”。返回“func”意味着它是kdb符号`func
。或者它可以是lambda(内嵌函数)按名称返回。接下来的问题是,如何检查rowValue中的null。显然,如果为null,他们只返回“func”。除了将null与“func”进行比较外,还有其他有效的方法检查null吗?您可以使用以下静态方法。qn(rowValue);
注意at()
方法实际上调用qn()
方法,如果kdb中的值为null,则返回Javanull
。因此它应该显示为“null”而不是“func”。返回“func”意味着它是kdb符号`func
。或者,它可以是按名称返回的lambda(内联函数)。