Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 301f44b

Browse files
committed
fix #188 should not iterate when array is empty
1 parent 1ab2042 commit 301f44b

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

‎src/main/java/com/jsoniter/any/ArrayLazyAny.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ private Any fillCacheUntil(int target) {
172172
if (lastParsedPos == head) {
173173
if (!CodegenAccess.readArrayStart(iter)) {
174174
lastParsedPos = tail;
175-
thrownewIndexOutOfBoundsException();
175+
returnnull;
176176
}
177177
Any element = iter.readAny();
178178
cache.add(element);

‎src/test/java/com/jsoniter/any/TestList.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.jsoniter.any;
22

3+
import com.jsoniter.JsonIterator;
34
import junit.framework.TestCase;
45

56
import java.util.ArrayList;
67
import java.util.Arrays;
78
import java.util.Collections;
9+
import java.util.Iterator;
810

911
public class TestList extends TestCase {
1012
public void test_size() {
@@ -52,4 +54,10 @@ public void test_to_string() {
5254
any.asList().add(Any.wrap(4));
5355
assertEquals("[1,2,3,4]", any.toString());
5456
}
57+
58+
public void test_for_each() {
59+
Any a = JsonIterator.deserialize("[]");
60+
Iterator<Any> iter = a.iterator();
61+
assertFalse(iter.hasNext());
62+
}
5563
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /