タイトルには最善を尽くしましたが、おそらくそれは適切な言い方ではないので、代わりに問題を説明するために最善を尽くします. Windows BATCH に精通している場合、このコードは
set /p var =
goto %var%
変数に格納されている文字列の名前のページに移動しますvar
。Javaでも同じことをする必要があります。はい、私は、if
より多くのコード行が必要になることを除いて、ステートメントを使用することでこのアイデアに満足できることを十分に認識しています。私のアプローチはこれでした:
import java.util.Scanner;
public class blarg {
public static void main(String[] args) throws NullPointerException{
Scanner scan = new Scanner(System.in);
String spell = scan.nextLine();
ClassLoader cl = null;
Class cls = (cl.loadClass(spell)).class;
String name = cls.getName();
cl.loadClass(name);
}
}
ここでの私の目標は (可能かどうか、または適切なコードを使用しているかどうかがわからないため、明確でない場合)、ユーザーの入力を variable に取得することですspell
。次に、 にClass cls = (cl.loadClass(spell)).class
関連付けられたクラスを取得してから、spell
そのクラスを取得し、 で完全修飾名を取得してString name = cls.getName();
、最後にそのクラスをロードしていました。
Eclipse で次のエラーが発生します。
スレッド "main" java.lang.Error での例外: 未解決のコンパイルの問題: トークン "class" の構文エラー、識別子が必要です
それで、その構文エラーを回避する方法はありますか(識別子を追加することによって)、または他の誰かが私がやろうとしていることを行う方法を知っていますか? そうでない場合でも、if
ステートメントの使用に反対しているわけではありません。これを機能させることができれば、人生が楽になると思っただけです。さらに情報が必要な場合は、できる限りの情報を提供します。