如何修复“-”在Java中显示为字符串?

时间:2018-12-27 17:54:38

标签: java

我在下面的代码中遇到了问题。如果job_group具有“”,我尝试将标签设置为在特定字符串上显示“-”,然后将标签设置为“-”。但是,在这种情况下,job_group在字符串内不显示“-”吗?有没有解决此问题的方法?

import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import org.springframework.jdbc.core.RowMapper;


@ManagedBean(name = "jobSearchItemMapper")
@ApplicationScoped
public class JobSearchItemMapper implements RowMapper {
 @Override
    public Object mapRow(ResultSet rs, int i) throws SQLException {
        JobSearchItem jobItem = new JobSearchItem();

    jobItem.setid(rs.getString("JOB_CLASS_CD") + (rs.getString("PAY_GRADE")) + rs.getString("JOB_GROUP"));
    jobItem.setValue(rs.getString("JOB_CLASS_CD") + (rs.getString("PAY_GRADE")) +  rs.getString("JOB_GROUP") );

       if (rs.getString("JOB_GROUP").equals(" ")) {

          jobItem.setlabel(rs.getString("JOB_CLASS_TITLE")   +  " - "   +   rs.getString("JOB_GROUP") + " (" + (rs.getString("JOB_CLASS_CD"))   + "-" + (rs.getString("PAY_GRADE")) + ")");

      } else {

        jobItem.setlabel(rs.getString("JOB_CLASS_TITLE")    +     " - " +    rs.getString("JOB_GROUP") + " (" + (rs.getString("JOB_CLASS_CD")) + (rs.getString("PAY_GRADE")) + ")");

      }

       if (rs.getString("PAY_GRADE").equals("0")) {

       jobItem.setlabel(rs.getString("JOB_CLASS_TITLE")  +   "  " +  rs.getString("JOB_GROUP") + " (" + (rs.getString("JOB_CLASS_CD")) + ")");

        } else {
            jobItem.setlabel(rs.getString("JOB_CLASS_TITLE") +   "  " +  rs.getString("JOB_GROUP") + " (" + (rs.getString("JOB_CLASS_CD")) + "-" + (rs.getString("PAY_GRADE")) + ")");
        }

        return jobItem;

    }

}

4 个答案:

答案 0 :(得分:1)

更改

if (rs.getString("JOB_GROUP").equals(" "))

收件人:

if (rs.getString("JOB_GROUP").trim().isEmpty())

涵盖rs.getString("JOB_GROUP")包含空格的任何情况。
在if块内删除rs.getString("JOB_GROUP"),因为它为空:

jobItem.setlabel(rs.getString("JOB_CLASS_TITLE")   +  " - (" + (rs.getString("JOB_CLASS_CD"))   + "-" + (rs.getString("PAY_GRADE")) + ")");

答案 1 :(得分:0)

我认为最好将一个空字符串而不是“”进行比较

import numpy as np
list = [[2,4,1,6,3], [2,4,1,8,4], [6,5,4,3,2], [6,5,4,3,4], [1,2,3,4,5]]
matrix=np.matrix(list)

答案 2 :(得分:0)

您是否正在寻找类似的东西?

String test="This is a test";  
String myString=test.replace(' ','-');//replaces all occurrences of ' ' with '-'  
System.out.println(myString);

答案 3 :(得分:0)

在我看来,这要么混淆了“”和“”。我建议您不要测试正在寻找的字符串是否为空,而是使用一些帮助类,例如Apache StringUtils类:     StringUtils.isEmpty(string);或像这样重写if语句,以确保您找到正确的情况:

rs.getString("JOB_GROUP").equals(String.EMPTY)

希望这有助于调试。