Java将字符串转换为整数

时间:2015-08-18 09:52:46

标签: java

我有以下代码:

ComboBox

我初始化了一个名为' mTarifId'的变量。我需要在下面的代码中使用它。

    private Integer mTarifId;

    public Integer getTarifId() {
        return mTarifId;
    }

    public void setTarifId(Integer tarifId) {
        this.mTarifId = tarifId;
    }

但为了做到这一点,我需要将它转换为' doGet'

中的整数
if (!Objects.equals(mTarifId, null)) {
            query = mEntityManager.createQuery("FROM TarifListeCalendrierEntity WHERE tarifListeId=:pId")
                    .setParameter("pId", mTarifId);
            List<TarifListeCalendrierEntity> tarifListCalendrierList = query.getResultList();
            if (!tarifListCalendrierList.isEmpty()) {
                TarifListeCalendrierEntity tarifListCalendrier = tarifListCalendrierList.get(0);
                request.setAttribute("tarif_list_calendrier", tarifListCalendrier);
            }
        }

请帮助确定我做错了什么。

4 个答案:

答案 0 :(得分:0)

每次执行其他条件时,为什么它为空。

String tarifId = request.getParameter("tarifid");

        if (tarifId!=null) 

用于将字符串转换为整数。

Integer.parseInt(String);

答案 1 :(得分:0)

如果有任何NumberFormatException,你可以使用try catch吗?

试试这个:

String tarifId = request.getParameter("tarifid");
Integer number;
try{
    number = Integer.valueOf(tarifId);
} catch(NumberFormatException e){
    number = 0;
}
setTarifId(number)

另外,你需要你的setTarifId()期望一个Integer,或者int可以没问题吗?

答案 2 :(得分:0)

您的实际问题是您的请求参数。可能会发生您的mTarifId甚至没有在名为 tarifid 的请求参数中设置。

您还没有提到如何设置它。因此,如果实际设置了此参数,请检查该代码。

答案 3 :(得分:0)

这就是我所需要的:

mTarifId = Integer.valueOf(request.getParameter("tarifid"));