Skip to content

Commit 0142f59

Browse files
committed
Add a note about StringToArray.canConvert
1 parent 7751a9d commit 0142f59

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/main/java/org/scijava/convert/StringToArrayConverter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ public boolean canConvert(final Object src, final Class<?> dest) {
6767
String srcString = (String) src;
6868
if (!(srcString.startsWith("{") && srcString.endsWith("}"))) return false;
6969
List<String> components = elements((String) src);
70+
// NB this check is merely a heuristic. In the case of a heterogeneous
71+
// array, canConvert may falsely return positive, if later elements in the
72+
// string-ified array cannot be converted into Objects. We make this
73+
// compromise in the interest of speed, however, as ensuring correctness
74+
// would require a premature conversion of the entire array.
7075
return components.size() == 0 || convertService.supports(components.get(0),
7176
dest.getComponentType());
7277
}

0 commit comments

Comments
 (0)