簡體   English   中英

為什么這個Java數組的.sort方法不起作用?

[英]Why won't this Java array's .sort method work?

開始認為我正在使用錯誤的書來學習。 我從Sam的Learn Java中復制了這個逐字逐句,但是.sort(names); 對於數組類型,方法未定義。

我有一種感覺,它與public static void main(String[] args) { call,但我不知道如何修改它。

package arrays;

import java.util.*;

public class Arrays {
    public static void main(String[] args) {
        String names[] = { "Lauren", "Audrina", "Heidi", "Whitney",
                "Stephanie", "Spencer", "Lisa", "Brody", "Frankie", "Holly",
                "Jordan", "Brian", "Jason" };
        System.out.println("The original order:");
        for (int i = 0; i < names.length; i++) {
            System.out.print(i + ": " + names[i] + " ");
        }
        Arrays.sort(names);
        System.out.println("\nThe new order:");
        for (int i = 0; i < names.length; i++) {
            System.out.print(i + ": " + names[i] + " ");
        }
        System.out.println();
    }
}

托馬斯指出答案,但因為這是一個評論你不能接受;這是你可以接受的CW。)

Arraysjava.util包中的一個類,它有一個sort方法。 通過調用自己的Arrays ,可以隱藏代碼中的java.util (這有時稱為“陰影”),所以Arrays.sort(names); line試圖在你的類上使用sort方法(它沒有一個)。

要解決此問題,您有三種選擇:

  1. 更改類的名稱( ArrayTest ,無論如何),或

  2. 更改您的來電sort到: java.util.Arrays.sort(names); (所以編譯器知道你在談論java.util.Arrays ,而不是你的類),或者

  3. 使用import static java.util.Arrays.sort; 導入方法sort而不是類Arrays並使用sort(names);調用它sort(names); (沒有前面的類名)。

暫無
暫無

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

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