!753 IterUtil.getFirst优化

Merge pull request !753 from 这是一个腊鸡/v5-dev
This commit is contained in:
Looly 2022-08-16 01:55:21 +00:00 committed by Gitee
commit 4c1a88ee2f
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 18 additions and 0 deletions

View File

@ -575,6 +575,11 @@ public class IterUtil {
* @return 第一个元素为空返回{@code null}
*/
public static <T> T getFirst(Iterable<T> iterable) {
if (iterable instanceof List) {
List<T> list = (List<T>) iterable;
return CollUtil.isEmpty(list) ? null: list.get(0);
}
return getFirst(getIter(iterable));
}

View File

@ -5,6 +5,7 @@ import lombok.Data;
import org.junit.Assert;
import org.junit.Test;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@ -20,6 +21,18 @@ import java.util.Map;
*/
public class IterUtilTest {
@Test
public void getFirst() {
Assert.assertNull(IterUtil.getFirst((Iterable<Object>) null));
Assert.assertNull(IterUtil.getFirst(CollUtil.newArrayList()));
Assert.assertEquals("1", IterUtil.getFirst(CollUtil.newArrayList("1", "2", "3")));
ArrayDeque<String> deque = new ArrayDeque<>();
deque.add("3");
deque.add("4");
Assert.assertEquals("3", IterUtil.getFirst(deque));
}
@Test
public void getFirstNonNullTest(){
final ArrayList<String> strings = CollUtil.newArrayList(null, null, "123", "456", null);