-4

私は、C# で "String" の代わりに "string" を使用することに本当に慣れています。Javaでこれを行うにはどうすればよいか考えていました。

それが問題になる場合は、Eclipse の Java EE IDE を使用しています。

4

5 に答える 5

4

これは不可能です:

  • Java では、タイプの名前変更または別名を使用できません。各 (クラス) タイプには、FQN (つまり、完全修飾名) が 1 つだけあります。FQN が異なるタイプはすべて別のタイプです。

  • String型が as として宣言されてfinalいるため、便利なサブクラスを作成することさえできませんでした。(そして、それがあったとしても、残りのシステム ライブラリを変更してクラスを使用することはできないため、役に立ちません。)

  • 理論的には可能であるにもかかわらず、システム ライブラリを変更することは、Java ツールチェーンと IDE をはじめ、太陽の下にあるすべてのものとの互換性を損なうため、非常に悪い考えです。

  • の名前を変更するStringことは、このクラス、生成されたコード、および JVM 内部との間に相互依存関係があるため、特に困難です。特に、このクラスと JVM ブートストラップ プロセスの間には、非常に恐ろしい関係がいくつかあります。

  • そして、これを行うことが技術的に実現可能であったとしても、それはまだ悪い考えです...コードの保守性の観点から。雑種の「Java が C# のように見える」コードベースを読んで変更しなければならない次の人のことを考えてみてください。

私は、C# で "String" の代わりに "string" を使用することに本当に慣れています。

StringJava を学んだ何百万人もの C# プログラマーと同じように、使い方を学ぶ必要があります。

于 2012-07-12T00:45:29.287 に答える
4

しないでください。文字列を使用するだけです。あなたはそれになれるようになる。

于 2012-07-12T00:30:26.930 に答える
2

Stringは Java のラッパー固有のファースト クラス クラスであり、C# とは異なり、Java には文字列のプリミティブ データ型はありません。

Java のコーディング規約では、クラスは大文字で始める必要があると規定されています。したがって、名前を変更することはできません。

于 2012-07-12T00:32:13.970 に答える
1

たとえそれが悪い考えではなかったとしても、これは不可能だと思います。Java には typedef がないため、クラスをエイリアスすることはできません。さらに、String は final クラスであるため、拡張できません。つまり、String を拡張して文字列と呼ぶことはできません。

于 2012-07-12T00:31:34.127 に答える
0

lulzのみ

public final class string {
    private final String string;
    public string(String string){
        this.string = string;
    }
    @Override
    public String toString(){
        return string;
    }

    //usage
    public static void main(String args[]){
       string myString = new string("Hello World");
       System.out.println(myString);
    }
}
于 2012-07-12T01:10:50.020 に答える