- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルの初期化)
C言語で定義された構造体をJAVAで実現する方法は?
このQ&Aのポイント
- C言語で作成したシステムをJAVAに移植しようと思ったのですが、下記のような構造体の定義があり、参考になる資料がありませんでした。このようにC言語で定義された構造体をJAVAで実現することは可能でしょうか?禁じ手なのでしょうか?アドバイスをお願いします。
- C言語の構造体を利用したテーブルの初期化方法について教えてください。
- C言語で定義された構造体をJAVAで実現するための方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まず(1)はできます。構造体の代わりにclassを使って、 フィールドをpublicにすればいいわけです。 (オブジェクト指向的にはあまりよい作法ではありませんが) 問題は(2)です。 Javaだと、このように、単純に要素を並べて初期化することはできません。 newを用いて、コンストラクタを起動しなければなりません。 Syain tSyain[] = { new Syain(1 ,"ABC001","鈴木",43), new Syain(2 ,"ABC002","大木",23) }; のようにします。 コンパイル、実行は上の方式でできると思います。 Javaの配列は、配列長が入っているので、 終端チェックはそれを使った方がいいでしょう。 for(int i=0 ; i<tSyain.length; i++ ){ /* 終端チェック不要 */ …… } ただ、構造を変えたくないのであれば、IDによる終端チェックをしても いいでしょう。
お礼
返事が遅くなりすみません。 構造化で学んできたため、オブジェクト指向の切り替えが できていない状態です。 >(オブジェクト指向的にはあまりよい作法ではありませんが) なるほど。禁じ手までいかなくても、やらない方法なのですね。 オブジェクト指向で実現する方法を勉強してみます。 ありがとうございました。