Класс org.eclipse.parsson.JsonStringImpl не может быть приведен к классу java.lang.String [дубликат] ⇐ JAVA
Класс org.eclipse.parsson.JsonStringImpl не может быть приведен к классу java.lang.String [дубликат]
/**
* Finds a substring of value that uniquely identifies it from all strings
* in a collection.
*
* @param value the target string
* @param collection the collection of other strings
* @return a unique substring of value, or value itself if no such substring
* exists
*/
public static String findUniqueSubstring(final String value,
final Collection collection) {
return IntStream.range(1, value.length() + 1)
.mapToObj(len -> IntStream.range(0, value.length() - len + 1)
.mapToObj(begin -> value.substring(begin, begin + len))
.filter(substring -> collection.parallelStream()
.noneMatch(other -> other.contains(substring)))
.findFirst())
.filter(Optional::isPresent).map(Optional::get).findFirst()
.orElse(value);
}
Я получаю время выполнения «java.lang.ClassCastException: класс org.eclipse.parsson.JsonStringImpl не может быть приведен к классу java.lang.String» в строке «noneMatch».
Если это актуально: оно находится в приложении JavaFX, использующем jakarta.json и его реализацию parsson.
РЕДАКТИРОВАТЬ
Я нашел виновника. Часть коллекции заполнялась следующим методом.
public static ObservableList array(final JsonObject jo,
final String key) {
final List list = Arrays
.asList(jo.getJsonArray(key).toArray());
final List result = new ArrayList();
list.forEach(item -> result.add((T) item));
return FXCollections.observableList(result);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... lang-strin
/**
* Finds a substring of value that uniquely identifies it from all strings
* in a collection.
*
* @param value the target string
* @param collection the collection of other strings
* @return a unique substring of value, or value itself if no such substring
* exists
*/
public static String findUniqueSubstring(final String value,
final Collection collection) {
return IntStream.range(1, value.length() + 1)
.mapToObj(len -> IntStream.range(0, value.length() - len + 1)
.mapToObj(begin -> value.substring(begin, begin + len))
.filter(substring -> collection.parallelStream()
.noneMatch(other -> other.contains(substring)))
.findFirst())
.filter(Optional::isPresent).map(Optional::get).findFirst()
.orElse(value);
}
Я получаю время выполнения «java.lang.ClassCastException: класс org.eclipse.parsson.JsonStringImpl не может быть приведен к классу java.lang.String» в строке «noneMatch».
Если это актуально: оно находится в приложении JavaFX, использующем jakarta.json и его реализацию parsson.
РЕДАКТИРОВАТЬ
Я нашел виновника. Часть коллекции заполнялась следующим методом.
public static ObservableList array(final JsonObject jo,
final String key) {
final List list = Arrays
.asList(jo.getJsonArray(key).toArray());
final List result = new ArrayList();
list.forEach(item -> result.add((T) item));
return FXCollections.observableList(result);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... lang-strin
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Класс org.eclipse.parsson.JsonStringImpl нельзя привести к классу java.lang.String
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Класс org.eclipse.parsson.JsonStringImpl нельзя привести к классу java.lang.String
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-