Jin*_*n.J 3 java intellij-idea
我的 intelliJ IDE 的屏幕截图,因为我无法直接发布图片 (顺便说一下,我使用的是 jdk 10)出于某种原因,我需要根据输入输出一个字符串,并且字符串中可能有新行。为了使程序在不同平台上运行,我使用一个变量来存储 System.lineSeparator() 并在需要时插入它。但后来我意识到 intelliJ 显示它已被弃用。所以我的问题是,为什么这个函数被弃用了?使用行分隔符是一种不好的做法吗?这样做的更好方法是什么?
final String NEW_LINE = System.lineSeparator();
String output = "Line one" + NEW_LINE + "Line two";
WriteToFile(output);
Run Code Online (Sandbox Code Playgroud)
更新:图片显示了我的 IntelliJ IDE 中的警告。该问题可能是由我的配置引起的。根据下面的答案(谢谢大家的回答),也许下次我应该在问“为什么”之前先问“是吗”。
为什么这个函数被弃用了?
这是由 IntelliJ 中的插件、附加组件或配置设置实现的选择(正如一些评论指出的,他们的 IntelliJ 并没有将其视为已弃用)。据我所知,弃用这一点的唯一选择是它可能会带来兼容性错误。然而,从Java System 类文档来看:
行分隔符
公共静态字符串行分隔符()
返回与系统相关的行分隔符字符串。它始终返回相同的值 - 系统属性 line.separator 的初始值。
在 UNIX 系统上,它返回“\n”;在 Microsoft Windows 系统上,它返回“\r\n”。
System.lineSeparator()就其实现的版本 ( Java 7 ) 和直到最后一个可用版本 ( Java 10 ) 而言,没有任何迹象表明 已弃用。如果这真的让你很烦恼,你可能想直接向社区询问。
使用行分隔符是一种不好的做法吗?
完全不(据我所知,我可能是错的),特别是因为您使用的行分隔符与您运行代码的任何系统兼容(理论上)。
这样做的更好方法是什么?
对于您对这段代码的设计选择,我没有任何更好的建议。关于这一点,米哈尔·朗斯基(Michal Lonski)似乎有一个。
| 归档时间: |
|
| 查看次数: |
4560 次 |
| 最近记录: |