私のタイトルは、私が言うことをしようとしています正確に何を説明している場合、私はわからない - しかし、ここで私がやろうとしていますされているもの:Javaで宣言されたクラスからプリミティブの型を取得するには?
私はこのクラスの番号を持っている:
public class Numbers{
private int Integers;
private float Floaters;
public Numbers(String xUserInput){
if (xUserInput.matches("[0-9]+")) {
System.out.println("Integer");
try{
this.setIntegers(Integer.parseInt(xUserInput));
} catch (NumberFormatException e) {
System.out.println(xUserInput + " is not of Integer type!");
}
} else if (xUserInput.matches("[0-9]*[.]{1}[0-9]+")) {
System.out.println("Float");
try{
this.setFloaters(Float.parseFloat(xUserInput));
} catch (NumberFormatException e) {
System.out.println(xUserInput + " is not of Float type!");
}
} else {
System.out.println("Invalid Input!");
}
}
public int getIntegers() {
return this.Integers;
}
public void setIntegers(int integers) {
this.Integers = integers;
}
public float getFloaters() {
return this.Floaters;
}
public void setFloaters(float floaters) {
this.Floaters = floaters;
}
今、メインで - 私はすべてのユーザー入力をArrayListに追加しますが、次に配列を2回、すべての整数で1回、次にすべての浮動小数点で印刷します。
どのようにプリミティブ型に到達しますか?どこに間違っているのか教えてください。
PS:私は
for(Numbers n : numberList) {
System.out.println(n.getClass().getSimpleName());
}
を試してみました...しかし、私が得るすべては "数字"。
「プリミティブタイプ」とはなんですか? "Numbers"の代わりに返される正確なStringは何ですか? –
@Jjお返事ありがとうございます。そのエントリが保存された内容に応じて、 "int"または "float"を取得したいと考えました。 –
あなたが投票したら、私はそれから何かを学ぶことができるように短いコメントを書くために時間をかけてください。 –