如何将int转换为String?

时间:2015-02-13 06:37:35

标签: java

如何将int转换为String以便我可以获取参数?

我的控制器

@RequestMapping(method = RequestMethod.POST, value = "/searchUsers")
public String searchUsers(HttpServletRequest request, ModelMap map, 
        @RequestParam(value = "page", required = false) Integer page,
        @RequestParam(value = "size", required = false) Integer size) {
    String searchId = request.getParameter("userId");

    String searchProductName = request.getParameter("productName");
    String searchQuantity = request.getParameter("quantity");
    String searchStock = request.getParameter("stock");
    String searchDate = request.getParameter("date");


    Product searchProduct = new Product();
    searchProduct.setPid(searchId);
    searchProduct.setPname(searchProductName);
    searchProduct.setPquantity(searchQuantity);
    searchProduct.setPstock(searchStock);
    searchProduct.setPdate(searchDate);

MyClass的

private int id;

@Column(name="p_name")
private String pname;

@Column(name="p_quantity")
private String pquantity;

正如你在我的课堂上看到的那样,我的db中使用了int id来自动增量。 如何在不更改我的类中的String Id的情况下将我的Id转换为String,以便我可以在我的控制器中request.getParameter?

你可以在我的控制器中看到

字符串searchId 它无法存储在我的数据库中,因为它设置为String。

所以如何将我的int Id转换为String?有人可以帮助我。提前谢谢

3 个答案:

答案 0 :(得分:1)

如果您只需要将int用作String

String s = String.valueOf(int);

是你想要的

String.valueOf(obj)将尝试将传递给它的任何内容转换为String,因为它返回toString()值,即您尝试查找valueOf的对象的String表示形式。

答案 1 :(得分:0)

方法1: 您可以在控制器中关闭字符串

String searchId = request.getParameter("userId");
int id = Integer.parseInt(searchId); //Null check and NumberFormatException to be handled.
searchProduct.setPid(id);

方法2: 您可以在实体类中创建以String作为输入的方法。

private int id;

/*Default getter setter*/
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}

/*String based getter setter*/
public String getIdStr() {
    return Integer.toString(id);
}
public void setId(String id) throws NumberFormatException {
    this.id = Integer.parseInt(id); // Null check to be added 
}

在控制器中使用它。

searchProduct.setId(searchId);  //searchId is String

答案 2 :(得分:0)

从上到下,有三个回复。

1,String s = String.valueOf(int)。这是正确的。

2,String z = "" + myInt。这是可行的,但需要更多的记忆。 (不是一个好习惯)

3,return Integer.toString(id);更好地使用String.valueOf。

请参阅 Java - Convert integer to string

Integer.toString(int i) vs String.valueOf(int i)

谢谢。