#java #oop #math #java-8 #jvm
#java #ооп #математика #java-8 #jvm
Вопрос:
Я работаю над обновлением версии Java, и мне нужно исправить следующее утверждение :
Сообщение: класс masthead/auth/mesdb/MesDbAuthLogDAO использует устаревший метод java/lang/Integer::(Ljava/lang/String;)V
@SuppressWarnings({ "rawtypes", "unchecked" })
public List getLogsByLcrErrorCodeInLast(String code, long period) throws Exception {
**Object params = new ObjectPair(new Integer(code), new MesDbUtil(ibatis).getPastMesDbDate(period));**
List mesdbLogs = client.queryForList("LcrLog.getLogsByLcrErrorCodeInLast", params);
Iterator mesdbLogsIter = mesdbLogs.iterator();
List results = new ArrayList();
while (mesdbLogsIter.hasNext()) {
MesDbLcrLog mesdbLog = (MesDbLcrLog) mesdbLogsIter.next();
results.add(mesdbLog.getLog());
}
return results;
}
Необходимо заменить это целое число, чтобы остановить отображение этого сообщения.
Помощь будет оценена
Комментарии:
1. Попробуйте заменить
new Integer(code)
наInteger.valueOf(code)
.2. Прочитайте документацию , то есть javadoc <a rel="nofollow noreferrer noopener" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Integer.html#(java.lang.String)» rel=»nofollow noreferrer»>
Integer(String s)
: » Устарел. Редко уместно использовать этот конструктор. ИспользуйтеparseInt(String)
для преобразования строки вint
примитив или используйтеvalueOf(String)
для преобразования строки вInteger
объект.»3. @ArnaudDenoyelle не могли бы вы рассказать мне, как в приведенном выше коде, пожалуйста, я довольно новичок в Java
Ответ №1:
Заменить new Integer(code)
на Integer.valueOf(code)
. То же самое относится и к другим оболочкам, таким как Long
, Double
и так далее.
Комментарии:
1. Действительно признателен за ваш ответ, но не могли бы вы просто сказать мне, как я могу это сделать в приведенных выше запросах кода.
2. Я только что написал это в ответе… Заменить
new Integer(code)
наInteger.valueOf(code)
.