gpt4 book ai didi

c# - 为什么 Java 没有指定未转义字符串文字的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:46 24 4
gpt4 key购买 nike

在 C# 中,如果你想按字面意义获取字符串,即忽略转义字符,你可以使用:

string myString = @"sadasd/asdaljsdl";

但是在 Java 中没有等价物。有什么理由 Java 没有包含类似的东西吗?

编辑:

在查看了一些答案并进行了思考之后,我真正想问的是:
是否有任何令人信服的论点反对将此语法添加到 Java?有些负面影响,我只是没有看到?

最佳答案

Java 一直给我留下深刻印象,因为它是一种极简主义语言 - 我想,由于逐字字符串不是必需的(例如属性),因此它们不包括在内。

例如在 C# 中有很多快速的方法来做像属性这样的事情:

public int Foo { get; set; }

和逐字字符串:

String bar = @"some
string";

Java 倾向于尽可能避免语法糖。如果你想要一个字段的 getter 和 setter,你必须这样做:

private int foo;

public int getFoo() { return this.foo; }
public int setFoo(int foo) { this.foo = foo; }

并且字符串必须被转义:

String bar = "some\nstring";

我认为这是因为在很多方面 C# 和 Java 有不同的设计目标。 C# 发展迅速,不断添加许多功能,但其中大部分往往是语法糖。另一方面,Java 是关于简单性和易于理解的。最初创建 Java 的很多原因是对 C++ 语法复杂性的 react 。

关于c# - 为什么 Java 没有指定未转义字符串文字的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com