将int转换为String

时间:2015-04-12 19:22:22

标签: java

private JTextField resultTextField;
resultTextField.setText(" "); ...

private class InputListener implements ActionListener
{
    public void actionPerformed(ActionEvent e)
    {
        Stack<Integer> operandStack = new Stack<Integer>();
        Stack<Character> operatorStack = new Stack<Character>();

        String input = inputTextField.getText();

        StringTokenizer strToken = new StringTokenizer(input, " ", false);


        while (strToken.hasMoreTokens())
        {
            String i = strToken.nextToken();
            int operand;
            char operator;

            try
            {
                operand = Integer.parseInt(i);
                operandStack.push(operand);
            }
            catch (NumberFormatException nfe)
            {
                operator = i.charAt(0);
                operatorStack.push(operator);
            }
        }
        int result = sum (operandStack, operatorStack);
        resultTextField.setText(result);

最后一行:“resultTextField.setText(result);”在提供的代码中,我试图将'result'变量转换为String但没有成功。我得到的编译错误消息是:

PrefixExpression.java:96: error: method setText in class JTextComponent cannot be applied to given types;
          resultTextField.setText(result);
                         ^
  required: String
  found: int
  reason: actual argument int cannot be converted to String by method invocation conversion.

我已经在这里尝试了其他'convert int to String'问题的答案中提供的几种方法,但它们都没有用。如何将'result'转换为String?谢谢你的帮助。

4 个答案:

答案 0 :(得分:4)

这会将int转换为字符串:

resultTextField.setText(Integer.toString(result));

编辑:如下所述,无需导入java.lang,因为它始终可用。

答案 1 :(得分:3)

您可以使用Integer.toString(number)或String.valueOf(number)函数。此函数可以取整数并将其转换为String。 尝试添加:

String numResult = Integer.toString(result);

String numResult = String.valueOf(result);

答案 2 :(得分:2)

你可以做一个黑客

resultTextField.setText(result + "");

答案 3 :(得分:1)

这样做:(new Integer(result)).toString()你应该没问题。

相关问题