我有这个代码:

private void submitPstart() {

    if (tStock.getText().charAt(0)>='A' && tStock.getText().charAt(0)<='Z'){


    }else {
        errorBox ("Uppercase A-Z");
    }

    tStock.setText("");
    tStock.setFocus();
}

它正在工作,但是当我尝试不在文本框上放任何东西并按OK按钮时,它崩溃了。它说:
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
它指出了这一部分:if (tStock.getText().charAt(0)>='A' && tStock.getText().charAt(0)<='Z')
任何帮助表示赞赏。谢谢

最佳答案

您必须检查null和长度是否大于0。

 if (tStockPIStart!=null && tStockPIStart.getText().length()>0 && tStockPIStart.getText().charAt(0)>='A' && tStockPIStart.getText().charAt(0)<='Z'){

关于Java charAt()字符串索引超出: 0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13118732/

10-11 22:27