• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルの初期化)

C言語で定義された構造体をJAVAで実現する方法は?

このQ&Aのポイント
  • C言語で作成したシステムをJAVAに移植しようと思ったのですが、下記のような構造体の定義があり、参考になる資料がありませんでした。このようにC言語で定義された構造体をJAVAで実現することは可能でしょうか?禁じ手なのでしょうか?アドバイスをお願いします。
  • C言語の構造体を利用したテーブルの初期化方法について教えてください。
  • C言語で定義された構造体をJAVAで実現するための方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.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による終端チェックをしても いいでしょう。

asaichi
質問者

お礼

返事が遅くなりすみません。 構造化で学んできたため、オブジェクト指向の切り替えが できていない状態です。 >(オブジェクト指向的にはあまりよい作法ではありませんが) なるほど。禁じ手までいかなくても、やらない方法なのですね。 オブジェクト指向で実現する方法を勉強してみます。 ありがとうございました。

関連するQ&A