3

文字列を実行可能なコードに変換することについてはすでに多くの質問があることは知っていますが、私の質問は少し異なります。:と呼ばれるメソッドを持つクラスと、:public boolean isSame(boolean a, boolean b)を含む文字列があるとします"if(a == b) { return true; } return false"。文字列の内容をメソッドのコードに追加する方法はありますか?したがって、最終結果は次のようになります。

public boolean isSame(boolean a, boolean b){
    if(a == b){
        return true;
    }
    return false;
}

どうもありがとうございます。

編集:これが不可能かどうかは完全に理解していますが、質問する価値があります:)。

4

1 に答える 1

1

おそらく、 BECLライブラリを使用することもできます。これは、パフォーマンスでは有名ではありませんが、使いやすさで有名なバイト コード エンジニアリング ライブラリです。

あなたの場合に興味深いもの:

バイトコードの上に抽象化を提供する他のバイトコードエンジニアリングライブラリとは異なり、クラスを逆コンパイルし、必要なコードを織り込んでから再度コンパイルすることで機能します。. . これは、クラスのロード段階で発生します。. . 理論的には、これにより、元のメソッド呼び出しの前後に有効なコードを文字列形式で挿入できます。

基本的に、質問のコメントセクションの提案に従ってコンパイラを使用しますが、少し余分な作業を行います。

于 2013-02-01T07:49:12.467 に答える