前提・実現したいこと
zipEmptyというメソッドを作成しました。
配列にnullが存在する場合は削除するというもの
仕様としては以下のとおりです。
・arrayはnullや空配列の場合がある
・nullの場合でも空の配列を返したい。
・zipEmpty(new String[] {null});のように全てnullの可能性もありますが
その場合はnew String[0]を返したい
・次のコードではarray[0] = nullの場合エラーとなってしまいます。
良い方法はないでしょうか。
該当のソースコード
Java
1 public static <T> T[] zipEmpty(T[] array) { 2 // array[0] == nullの場合エラーとなる。 3 Class<?> clazz = array[0].getClass(); 4 T[] retArr = (T[]) Array.newInstance(clazz, 0); 5 ArrayList<T> list = new ArrayList<T>(); 6 7 if (ArrayUtils.isEmpty(array)) { 8 return list.toArray(retArr); 9 } 10 for (T s: array) { 11 if (s != null) { 12 list.add(s); 13 } 14 } 15 return list.toArray(retArr); 16 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/26 06:56
2019/03/26 07:52