Scala项目中包中字符串类的覆盖equals方法

阿尼尔·库马尔

所以问题陈述正如它所说。我想在特定包中的字符串类中覆盖 equals 的行为。

我环顾四周,大多数情况下似乎没有办法做到这一点。

我最接近在现有类上定义方法的是 -

implicit class StringImprovements(s: String) {
  def increment = s.map(c => (c + 1).toChar)
}

然后像这样使用它 -

"HAL".increment

老实说,这真是太棒了。但是后来我尝试使用相同的方法覆盖 equals,它不起作用。我环顾四周,从 2015 年发现了这个问题 -使用 Scala Implicit 覆盖库方法

引用上述问题中的一句话 -

如果 Scala 编译器找不到没有它的方法,则使用隐式,因此您不能使用隐式覆盖方法

但是考虑到 Scala 发布非常频繁并且事情一直在变化,我想知道现在是否可以这样做,通过这种方式或其他方式。

提前致谢!

阿列克谢·罗曼诺夫

不,这不可能。如果是这样,我希望很多库代码会被破坏,因为它期望从String#equals!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

匹配和equalsIgnoreCase或字符串类中的equals之间的差异

从Java项目中提取所有字符串

从Android项目中的包中检索类列表

用字节伙伴从字符串覆盖类方法?

如何在Android Studio中的项目中找到所有硬编码的字符串

在Android Studio中搜索整个项目中所有出现的字符串

接收NPM错误:Ionic 3项目中位置20938的JSON中的意外字符串

如何从ASP.NET Core读取.NET标准类库项目中的连接字符串

在C ++项目中嵌入XML字符串资源

从数组中的项目中提取重复的字符串

覆盖User类中的equals方法

在主类方法中找不到字符串方法

显式强制转换为类的字符串在Equals中失败

Python:检查字符串是否在列表中的任何项目中?

Java(Eclipse):如何从同一项目中的另一个类调用int或字符串?

大型项目中的字符串替换

比较Java .equals()中的字符串

风味项目中无法识别的字符串引用

获取Scala中闭包的字符串表示形式

Access中旧VB.NET项目中的MYSQL连接字符串

如何在类中定义SQL Server连接字符串并在项目中的任何地方使用?

在非 Android 项目中定义 Gradle 中的字符串

如何将项目中定义的字符串使用到 Storyboard 中定义的 UILabel 中?

如何在 ListView 的项目中显示大字符串?

Vue js如何在整个项目中隐藏url中的查询字符串

我在抓取的项目中找不到字符串

如何在 Node 项目中通过 `mssql` 包处理传入的字符串值

如何从 Qlistwidget 未选中的项目中删除 QPlainTextEdit 中匹配的字符串(文本)?

在 Xamarin 项目中隐藏 Azure 凭据和连接字符串的最佳方法