にキャスティングCは、私は文字列にkx.c
クラスflip
オブジェクトをキャストしようとしています:JavaのKDB - 文字列
String test = (String) c.at(flip[0],1)
。文字列を返すためにkx Cオブジェクトをキャストできるか誰にでも分かりますか?
にキャスティングCは、私は文字列にkx.c
クラスflip
オブジェクトをキャストしようとしています:JavaのKDB - 文字列
String test = (String) c.at(flip[0],1)
。文字列を返すためにkx Cオブジェクトをキャストできるか誰にでも分かりますか?
"C objects"で正確に何を意味するのかはっきりしていませんが、それはchar配列であると想定しています。これはKdb文字列を表すJava型です。
Object[] data = this.flip.y;
Object[] columnData = (Object[]) data[row];
char[] data = (char[]) columnData[i];
return String.valueOf(data);
kdbシンボルを取得しようとすると、文字列配列になります。
Object[] data = this.flip.y;
Object[] columnData = (Object[]) data[row];
String data = (String) columnData[i];
return data;
c.Flip
は、キーから値へのマッピングです。特に、String
キーとObject
値を持ち、Flip
(それぞれx
とy
と呼ばれます)内の2つのアレイに格納されています。
あなたがキー「foo」という値を取得したい場合は、このような何か行うことができます:あなたは値がString
になることを知ってしまった場合、あなたはキャストすることができます
c.Flip myFlip = ...; // Get hold of your flip
Object value = myFlip.at("foo"); // Throws ArrayIndexOutOfBoundsException if "foo" is not found
をそれ:
String strValue = (String) value; // Throws ClassCastException if value isn't a String
ます。また、そうのように、一つに最後の2行を組み合わせることができます:
String strValue = (String) myFlip.at("foo");
取得(左括弧)これを試してもCは文字列にキャストできません。 – syphon228
無視してください。出来た。ありがとうございました!!! – syphon228
2番目のアルゴリズムを使用したときに[Cエラーが発生します。これはkdb文字列ではなくkdbシンボルを取得するためのものです。 kdbのシンボルと文字列は異なるため、対応するjavaの型が異なります。 – algolicious