-5

私のコードについて助けが必要です。メソッド toCharArray() を使用して String オブジェクトを char[] に変換したいのですが、うまくいきません。

Wordlist という名前のクラスにこの関数があります。

static public char[] Contains(String w)
  {
     if (list.contains(w)) return w.toCharArray();
         else return null;
  }

そして、文字列変数 res を使用して関数を呼び出します。

char[] result = new char[4];
result = WordList.Contains(res); 

するとresultの値がnullなのでnullを返すようです。ただし、Contains を次のように変更した場合:

static public char[] Contains(String w)
      {
         if (list.contains(w)){
            System.out.println(w.toCharArray());
          }
         else return null;
      }

次に、文字列を出力します。そんなことがあるものか ?私の機能の何が問題になっていますか?

4

1 に答える 1

2

あなたが何を達成しようとしているのかわかりませんが、

a) Java 命名規則について読む

b)List<>(およびjava.utilの他のいくつか)には.containsというメソッドがあります(そのため、Containsを呼び出すと混乱が生じます)

c) 本当に「Contains」メソッドで null を返したいですか?

d)リスト(Java.util.Listを意味すると思います)は宣言も初期化もされません

e) res は文字列だと思います。初期化されていないと宣言されることはありません。

これはあなたにアイデアを与えるはずです:

public static void main(String args[])
{

  String str = "someString";
  List<String> list = new ArrayList<String>();

  list.add(str);
  char[] charArray = containsString(str,list);
  System.out.println(charArray);
}
public static char[] containsString(String str, List<String> list)
{
   if (list.contains(str)) return str.toCharArray();
       else return null;
}
于 2013-04-22T17:53:48.413 に答える