mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
commit
4c1a88ee2f
@ -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));
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user