1

kx.cクラスflipオブジェクトを文字列にキャストしようとしています:

String test = (String) c.at(flip[0],1)

ただし、C オブジェクトを文字列にキャストできないというエラーが表示されます。文字列を返すために kx C オブジェクトをキャストできることを知っている人はいますか?

4

2 に答える 2

0

Ac.Flipは、キーから値へのマッピングです。特に、Stringキーと値があり、 (それぞれと呼ばれる)Object内の2つの配列に格納されています。Flipxy

キー「foo」の値を取得する場合は、次のように実行できます。

c.Flip myFlip = ...; // Get hold of your flip
Object value = myFlip.at("foo"); // Throws ArrayIndexOutOfBoundsException if "foo" is not found

値がになっていることがわかっている場合はString、次のようにキャストできます。

String strValue = (String) value; // Throws ClassCastException if value isn't a String

次のように、最後の2行を1つに結合することもできます。

String strValue = (String) myFlip.at("foo");
于 2012-02-09T11:51:17.283 に答える
0

「Cオブジェクト」とは正確に何を意味するのかよくわかりませんが、それはchar配列、つまりKdb文字列を表すJavaタイプであると想定しています。できることは次のとおりです。

Object[] data = this.flip.y;
Object[] columnData = (Object[]) data[row];        
char[] data = (char[]) columnData[i];
return String.valueOf(data);

kdb シンボルを取得しようとしている場合、それは String 配列になります。

Object[] data = this.flip.y;
Object[] columnData = (Object[]) data[row];        
String data = (String) columnData[i];
return data;
于 2012-02-09T15:45:21.253 に答える