-4

我真的习惯在 C# 中使用“字符串”而不是“字符串”。我想知道我能做些什么才能在 Java 中做到这一点。

如果这很重要,我正在使用 Eclipse 的 Java EE IDE。

4

5 回答 5

4

不。只需使用字符串。你会习惯的。

于 2012-07-12T00:30:26.930 回答
4

这是不可能的:

  • Java 不允许您重命名或别名类型。每个(类)类型都有一个且只有一个 FQN(即完全限定名称)。任何具有不同 FQN 的类型都是不同的类型。

  • String类型被声明为final因此您甚至无法创建便利子类。(即使这样做,它也无济于事,因为您无法更改其余系统库以使用您的类。)

  • 在理论上可行的情况下更改系统库是一个非常非常糟糕的想法,因为它会破坏与阳光下所有事物的兼容性,从您的 Java 工具链和 IDE 开始。

  • String由于此类、生成的代码和 JVM 内部之间存在交叉依赖关系,因此更改名称会特别困难。特别是,这个类和 JVM 引导进程之间存在一些非常可怕的关系。

  • 即使这样做在技术上是可行的,这仍然是一个坏主意……从代码可维护性的角度来看。想想下一个必须阅读和修改您的杂种“Java 看起来像 C#”代码库的人。

我真的习惯在 C# 中使用“字符串”而不是“字符串”。

你只需要学会使用String……就像其他数百万学过 Java 的 C# 程序员一样。

于 2012-07-12T00:45:29.287 回答
2

String在 Java 中是一个包装器适当的一等类,与 C# 不同,Java 中没有字符串的原始数据类型。

Java 中的编码约定规定类需要以大写字母开头。所以,不,你不能重命名它。

于 2012-07-12T00:32:13.970 回答
1

即使这不是一个坏主意,我也不认为这是可能的。java中没有typedef,所以你不能给一个类起别名。此外,String 是最终类,因此不能扩展——这意味着您不能扩展 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 回答