0

現在、Objectdbを使用してプロジェクトに取り組んでおり、NetBeansを使用してImを使用しています。このメッセージを表示できるmyStringメソッドが必要です:変数の型はintです。別のメインクラスからオブジェクトDriverを呼び出す場合[

 import javax.persistence.*;
 import java.util.*;
 //import javax.jdo.*;
 import java.sql.*;

 public class Main { 

public static void Element(Object obj){
    System.out.println(obj);
}//end method Element

 public static void main(String[] args) {

 Element(Driver);

}//end main

]もちろん、これを正確に入力して印刷できるようにするのではなく、整数の場合はint、Stringの場合はStringなどを返すことができるメソッドが必要です 。String変数の場合は次のようになります。わかった。しかし、整数を使用すると、「intは逆参照できません」というメッセージが表示されるため、コンパイラーはこれを渡しません。 これは正しく回避する方法ですか?これはimportartですので、よろしくお願いします。

import javax.persistence.*;
import java.util.*;

@Entity
public class Driver{    

@Id 
    private int Driverid;

    public void setDriverid(int Driverid) {
        this.Driverid= Driverid;
    }

    public int getDriverid() {
        return Driverid;
    }

public Driver(int getDriverid){
        this.Driverid=Driverid; 
}

public String toString() {
        return  "Variable type is " + Driverid.getClass.getSimpleName() + "." ;
}//end toString

}//end class Driver
4

4 に答える 4

2

コンパイル時に既知のものを実行時に決定しようとしている理由はわかりませんが、リフレクションを使用できます。

public String toString() {
    return "Variable type is " + getDeclaredFields()[0].getType().getSimpleName() + "." ;
}

toString() 印刷

Variable type is int.
于 2012-09-25T12:40:24.403 に答える
0

Integerの代わりにクラスを使用してみてくださいint。intはプリミティブ型ですが、Integerはそうではありません。

于 2012-09-25T12:38:36.307 に答える
0

インスタンス タイプを確認できます。

if(object instanceof Integer){...}
else if(object instanceof String){...}
于 2012-09-25T12:39:58.600 に答える
0

もちろん、何かを呼び出すことはできませんgetClass()... asPrimitive Typeを宣言して、それを機能させることができます..DriverIdInteger

于 2012-09-25T12:40:33.243 に答える