3

私はプログラミング言語に取り組んでいます。オブジェクト(javascriptのvarなど)を変数の型に変換する必要があります。元:

if(object == variabletypes.string)
{
//convert object to string
}
else if(object ==variabletypes.int)
{
//convert to integer
}

お時間をいただきありがとうございます。

4

4 に答える 4

7

を持っていると仮定するとjava.lang.Object、これが始まりです:

Object o = /* ??? */;
if (o instanceof String)
{
    String s = (String) o;
}
else if (o instanceof Integer)
{
    Integer integer = (Integer) o;
    int i = integer.intValue();
}

ここでの「変換」は主にキャストであり、オブジェクトが既に正しいランタイム型を持っているという前提の下で動作し、内部表現を実際に変更する必要はありません。たとえば、 aStringintwithに変更しInteger#parseInt()ます。

他の潜在的に有用な方法 (質問が正確に明確ではないため) には、次のものが含まれる場合があります。

于 2012-09-03T20:18:13.770 に答える
2
if(yourObject instanceof String){
    String str = (String)yourObject;
}
else if (yourObject instanceof Integer){
    Integer yourInt = (Integer)yourObject;
}
else if{
     System.out.println("My object is a class of: "+ yourObject.getClass().getName());
}
于 2012-09-03T20:21:16.937 に答える
1

できるよ:

object.toString(); // Returns the string value of the object, if it exists.

http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

于 2012-09-03T20:18:23.143 に答える
1

Java で使用できるツールがいくつかあります。

  1. instanceofオペレーター_
  2. オブジェクトのgetClass().getName()実際のクラスの名前を文字列として提供する呼び出し。

「変換」が何を意味するのかわかりませんが、これらは利用可能な基本的なツールです。

于 2012-09-03T20:20:29.637 に答える