Есть класс для работы с параметрами сетевых запросов
public class NeboParameters extends LinkedHashMap<String, Object> implements Serializable {
public NeboParameters() {
super();
}
public NeboParameters(Map<String, Object> fromMap) {
super(fromMap);
}
public static NeboParameters from(Object... params) {
if (params.length % 2 != 0) {
throw new IllegalStateException("Params must be paired");
}
LinkedHashMap<String, Object> result = new LinkedHashMap<>(params.length / 2);
for (int i = 0; i + 1 < params.length; i += 2) {
result.put((String) params[i], (String) params[i + 1]);
}
return new NeboParameters(result);
}
}
Все значения должны конвертироваться в String
.
Вот пример
NeboParameters params = NeboParameters.from(NeboConst.USER_ID, 3484192, NeboConst.MESSAGE, "Тест2");
Значение 3484192 не конвертируется в String
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Чтобы привести объект к строке, используйте метод String.valueOf
:
Object[] params = { 3484192, true };
for (Object obj : params)
{
System.out.println(String.valueOf(obj));
}
Или, если уверены в том, что объекты не равны null
, напрямую метод toString
:
Object[] params = { 3484192, true };
for (Object obj : params)
{
System.out.println(obj.toString());
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите, возможно глупый вопрос но все же ответ на него найти я не могуМне нужно реализовать загрузку изображений на сервер, api свой на Java, взаимодействие...