Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java查询KDB_Kdb - Fatal编程技术网

用java查询KDB

用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

我有一个名为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.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,则返回Java
null
。因此它应该显示为“null”而不是“func”。返回“func”意味着它是kdb符号
`func
。或者它可以是lambda(内嵌函数)按名称返回。接下来的问题是,如何检查rowValue中的null。显然,如果为null,他们只返回“func”。除了将null与“func”进行比较外,还有其他有效的方法检查null吗?您可以使用以下静态方法。
qn(rowValue);
注意
at()
方法实际上调用
qn()
方法,如果kdb中的值为null,则返回Java
null
。因此它应该显示为“null”而不是“func”。返回“func”意味着它是kdb符号
`func
。或者,它可以是按名称返回的lambda(内联函数)。