当前位置:   article > 正文

java.lang.NumberFormatException: For input string: ““

java.lang.numberformatexception: for input string: "null

这个问题是转换的问题,起初我是字符串转成int,但是报转换错误,通过上网查,这个问题也得以解决。这个问题分很多种情况

原因是:在调用StringUtils.split(),Integer.parseInt(),Long.parseLong()等方法时,不管传入的参数的值是什么,都能进入不为null或“”的判断中,然后就运行执行下面的代码,就可能出现 java.lang.NumberFormatException: For input string: "null"的异常。当传入的值为空,就不能被StringUtils.split()切割,也不能被Integer.parseInt(),Long.parseLong()等方法调用,所以会报错。


所以在传值的过程中得先给判空,上代码:

错误代码:

  1. // 循环Excel的列
  2. for (int c = 0; c< this.totalCells; c++) {
  3. Cell cell = row.getCell(c);
  4. if (null != cell) {
  5. if (c == 0) {
  6. workerModel.setArticlename(String.valueOf(getCellValue(cell)));
  7. } else if (c == 1) {
  8. if(String.valueOf(getCellValue(cell)).equals("")) {
  9. }else {
  10. workerModel.setOnlyNumber(String.valueOf(getCellValue(cell)));
  11. }
  12. } else if (c == 2) {
  13. workerModel.setUnit(String.valueOf(getCellValue(cell)));
  14. } else if (c == 3) {
  15. workerModel.setArticlespec(String.valueOf(getCellValue(cell)));
  16. } else if (c == 4) {
  17. workerModel.setCatelog(String.valueOf(getCellValue(cell)));
  18. } else if (c == 5) {
  19. workerModel.setPrewarning(Integer.valueOf(String.valueOf(getCellValue(cell))));
  20. } else if (c == 6) {
  21. workerModel.setRemark(String.valueOf(getCellValue(cell)));
  22. }else if (c == 7){
  23. workerModel.setUpperLimitA(Integer.valueOf(String.valueOf(getCellValue(cell))));
  24. }else if (c == 8){
  25. workerModel.setUpperLimitB(Integer.valueOf(String.valueOf(getCellValue(cell))));
  26. }else if (c == 9){
  27. workerModel.setUpperLimitC(Integer.valueOf(String.valueOf(getCellValue(cell))));
  28. }else if (c == 10){
  29. workerModel.setUpperLimitD(Integer.valueOf(String.valueOf(getCellValue(cell))));
  30. }else if (c == 11){
  31. workerModel.setUpperLimitE(Integer.valueOf(String.valueOf(getCellValue(cell))));
  32. }else if (c == 12){
  33. workerModel.setUpperLimitF(Integer.valueOf(String.valueOf(getCellValue(cell))));
  34. }else if (c == 13){
  35. workerModel.setUpperLimitG(Integer.valueOf(String.valueOf(getCellValue(cell))));
  36. }else if (c == 14){
  37. workerModel.setUpperLimitH(Integer.valueOf(String.valueOf(getCellValue(cell))));
  38. }
  39. }
  40. }

修改后的代码:

  1. // 循环Excel的列
  2. for (int c = 0; c< this.totalCells; c++) {
  3. Cell cell = row.getCell(c);
  4. if (null != cell) {
  5. if (c == 0) {
  6. workerModel.setArticlename(String.valueOf(getCellValue(cell)));
  7. } else if (c == 1) {
  8. if(!String.valueOf(getCellValue(cell)).equals("")) {
  9. workerModel.setOnlyNumber(String.valueOf(getCellValue(cell)));
  10. }
  11. } else if (c == 2) {
  12. workerModel.setUnit(String.valueOf(getCellValue(cell)));
  13. } else if (c == 3) {
  14. workerModel.setArticlespec(String.valueOf(getCellValue(cell)));
  15. } else if (c == 4) {
  16. workerModel.setCatelog(String.valueOf(getCellValue(cell)));
  17. } else if (c == 5) {
  18. if (!String.valueOf(getCellValue(cell)).equals("")){
  19. workerModel.setPrewarning(Integer.valueOf(String.valueOf(getCellValue(cell))));
  20. }
  21. } else if (c == 6) {
  22. workerModel.setRemark(String.valueOf(getCellValue(cell)));
  23. }else if (c == 7){
  24. if (!String.valueOf(getCellValue(cell)).equals("")){
  25. workerModel.setUpperLimitA(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  26. }
  27. }else if (c == 8){
  28. if (!String.valueOf(getCellValue(cell)).equals("")){
  29. workerModel.setUpperLimitB(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  30. }
  31. }else if (c == 9){
  32. if (!String.valueOf(getCellValue(cell)).equals("")){
  33. workerModel.setUpperLimitC(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  34. }
  35. }else if (c == 10){
  36. if (!String.valueOf(getCellValue(cell)).equals("")){
  37. workerModel.setUpperLimitD(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  38. }
  39. }else if (c == 11){
  40. if (!String.valueOf(getCellValue(cell)).equals("")){
  41. workerModel.setUpperLimitE(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  42. }
  43. }else if (c == 12){
  44. if (!String.valueOf(getCellValue(cell)).equals("")){
  45. workerModel.setUpperLimitF(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  46. }
  47. }else if (c == 13){
  48. if (!String.valueOf(getCellValue(cell)).equals("")){
  49. workerModel.setUpperLimitG(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  50. }
  51. }else if (c == 14){
  52. if (!String.valueOf(getCellValue(cell)).equals("")){
  53. workerModel.setUpperLimitH(Integer.valueOf(String.valueOf(getCellValue(cell)).trim()));
  54. }
  55. }
  56. }
  57. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/756183
推荐阅读
相关标签
  

闽ICP备14008679号