簡體   English   中英

java編譯器警告:In中的readStrings()(不建議使用)

[英]java compiler warning: readStrings() in In (deprecated)

我在帶有OSX 10.9.1的Mac上的Dr. Java studio中運行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)
{

定義輸入數組a,String [] a似乎有些不匹配,可以在私有sort()中進行比較。 我認為可以比較字符串。

我的問題是,我該如何擺脫錯誤? 順便提一下,警告是否與錯誤有關?

要刪除已棄用的警告, 請不要使用已棄用的函數。 不推薦的功能可能不符合當前標准。 它們的存在只是為了在世界其他地方趕上時提供向后兼容性。 在您的情況下,請改用另一個Stream閱讀器。 我更喜歡Scanner ,但還有更多。

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

不要重新發明輪子。 使用預構建的Arrays.Sort()方法。 除非您有充分的理由這樣做,否則不要實現自己的排序功能。

Arrays.sort(strings);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM