gpt4 book ai didi

java编译器警告: readStrings() in In (deprecated)

转载 作者:行者123 更新时间:2023-12-02 06:11:31 26 4
gpt4 key购买 nike

我在运行 OSX 10.9.1 的 Mac 上的 Dr. Java 工作室中运行 javac v1.6.0-65

我收到以下警告:

Quick.java:53: warning: [deprecation] readStrings() in In has been deprecated

我想这还不错,除了我还收到以下错误:

Quick.java:54: sort(java.lang.Comparable[],int,int) in Quick cannot be applied to (java.lang.String[])

代码行是:

public static void main(String[] args) 
{ // Read strings from standard input, sort them, and print.
String[] a = In.readStrings();
sort(a);

private static void sort(Comparable[] a, int lo, int hi)
{

将输入 String[] a 的数组 a 定义为可以在私有(private) sort() 中进行比较的内容似乎存在一些不匹配。我认为字符串可以进行比较。

我的问题是,如何消除该错误?顺便问一下,警告与错误有关吗?

最佳答案

要消除已弃用的警告,请勿使用已弃用的函数。 Deprecated功能可能不符合当前标准。它们的存在只是为了在世界其他地方迎头 catch 时提供向后兼容性。对于您的情况,请改用另一个 Stream 阅读器。我更喜欢Scanner ,但还有更多。

Scanner in = new Scanner(System.In);
String[] strings = in.readLine().split(" ");

Java 有一个内置的 Arrays.Sort() 方法,您可以使用它来代替实现您自己的方法,除非您有一些特殊要求。

Arrays.sort(strings);

关于java编译器警告: readStrings() in In (deprecated),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836894/

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