2016-04-26 19 views
0

クラスArrayTestでメソッドを作成し、arraylistオブジェクトをソートします。 しかし、何かが間違っている:メソッドは、指定された型には適用できません

import java.util.ArrayList; 
import java.util.Collections; 

public class ArrayTest{ 
    public static ArrayList<String> getSortedArrayList(String args[]){ 
     ArrayList<String> sort = new ArrayList<String>(); 
     Collections.sort(sort); 
     return sort; 
    } 
} 

Syntax Error(s)
Tester.java:20: error: method getSortedArrayList in class ArrayTest cannot be applied to giventypes;

System.out.println(ArrayTest.getSortedArrayList("Mark","Andrew", "Beth"));;

     ^

required: String[]

found: String,String,String

reason: actual and formal argument lists differ in length

1 error

+0

あなたが受け取っているエラーメッセージは、決して解決しませんあなたが示したコードbeeingからの最後のもの – SomeJavaGuy

+0

「何か」のような言葉は非常に曖昧です。正確にどこでエラーを示していたのか、エラーは何か – Lain

答えて

0

あなたのプログラムがこれをやっている:

ArrayList<String> sort = new ArrayList<String>(); 
Collections.sort(sort); 
return sort; 

はライン・バイ・ライン、それを見てみましょう:

  1. 新しいArrayList<String>を作成します。 (要素なし)
  2. ちょうど作成された並べ替えをArrayList<String>(要素を持たない)
  3. リターン(要素がない)ArrayList<String>

あなたはString[] argsをソートしたいので、あなたがあなたのArrayList<String>でこれらの要素を持っている必要がありますように思えます。

0

変更

ArrayTest.getSortedArrayList(new String[]{ "Mark", "Andrew", "Beth" }); 

や、より良いの呼び出し、変数引数を使用する変更メソッドシグネチャ:

public static ArrayList<String> getSortedArrayList(String ... args) 

のでargsString[]として見られるだろう(つまり、あなたが.length[]を使用することができます)とあなたはそれを呼び出すことができますArrayTest.getSortedArrayList("Mark", "Andrew", "Beth")

関連する問題