質問

私はJavaを初めて使用していますが、値オブジェクトを作成する必要があります(Javaでマッピングされたオブジェクトと呼ばれるかもしれません)が、私のコードが機能していないようです。ここに値オブジェクトがあります。

package ....;

public class User {
    private int id;    
    private int uid;    
    private String name;

    public User()
    {
        // do something here
    }
}

そして、私は次のような新しい値オブジェクトを割り当てます:

public boolean some_function() 
{               
    User u = new User();

    return true; // got a breakpoint here
}

したがって、「ユーザーu = new user();」というコメントをコメントした場合ブレークポイントに行きますが、上記のように保持すると、実行が停止します。

サイドノートとして、私は両方のファイルを同じフォルダーに保持しているので、Eclipseがファイルをインポートしないように、これは正しいですか、それともインポートする必要がありますか?

編集:

しばらくして、ファイルを手動でインポートしなければならないことがわかりましたが、私はそれを試したと思いましたが、どうやらしなかったようです。

役に立ちましたか?

解決

デニス、あなたが投稿したコードがあなたが実行している正確なコードである場合、これは意味がありません - 「ユーザーu = new user();」コンストラクターが空であるため、コールは問題なく新しいユーザーオブジェクトを返します。

それを自分自身に示すには、コンストラクターを次のように変更します。

public User() {
  System.out.println("I'm inside the User constructor!");
}

そして、some_function()関数をもう一度呼び出します。そのラインがコンソールに印刷されているのを見るはずです。

あなたが報告しているものと表示しているコードを考えると、some_function()を含むクラスはユーザークラスではなく「表示」されていないと思います。作成したクラスではなく、他のユーザークラスをインポートしています。同じパッケージにあるsome_function()を含むユーザークラスとクラスの2つのクラスはありますか?そうでない場合、some_function() - を含むクラスの上部にあるインポートステートメントは、ユーザークラスのインポートを処理することですか?

他のヒント

確かに、ユーザー()コンストラクターに無限のループがありませんか?

たとえば、コンストラクターにコードを入れます

id = 99;

そこにブレークポイントを設定します。

Eclipseにインポートすることについてあなたが何を意味するのかわかりません - 私はすべてのコードをEclipseに持っています - しかし、あなたのアプリケーションがユーザークラスを正しく見ていないのではないかと思います。たぶん、あなたもコンピレーションエラーを取得しています。 Eclipseでパッケージとクラスを作成し、ディレクトリを整理してください。

ユーザーのインポートを含むアプリクラス全体を表示します。

ブレークポイントをつけてください User u = new User(); そして、コンストラクターに足を踏み入れて、それが何をしているのかを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top