zoukankan      html  css  js  c++  java
  • 自己遇到过的出现java.lang.StackOverflowError的原因

        public static JSONArray geth24Weather(String result) {//获取当天24小时以及第二天的天气结果对象
            JSONObject fromObject = null;
            JSONArray h24weatherArray =null;
            try {
                int indexOf = result.indexOf("{");
                int lastIndexOf = result.lastIndexOf("}");
                result=result.substring(indexOf, lastIndexOf+1);
                String replaceAll = result.replaceAll(" ", "");

                if(replaceAll.trim().startsWith("{")){
                fromObject = JSONObject.fromObject(result);
                }
                //System.out.println("fromObject"+fromObject);
            } catch (Exception e) {
                e.printStackTrace();
            }
            if(fromObject!=null&&fromObject.get("code").equals("0")){
                 JSONArray jsonArray = fromObject.getJSONArray("data");//获取天气数据对象
                 JSONArray  forecastArray= ((JSONObject)jsonArray.get(0)).getJSONArray("forecast");//获取预报天气对象
                 JSONObject todayObj= (JSONObject)forecastArray.get(0);//获取到当天对象
                 if(todayObj.containsKey("h24weather")&&todayObj.get("h24weather")!=null){
                     System.out.println("打印todayObj="+todayObj);
                     h24weatherArray=todayObj.optJSONArray("h24weather");
                    if(h24weatherArray==null){
                         geth24Weather(result);
                     }
                     System.out.println("打印h24weatherArray="+h24weatherArray);
                 }else{
                    
                     System.out.println("空");
                 }
                
            }
            return h24weatherArray;
        }

    这个就是递归没有结束条件,一旦遇到result是null那么这个就会无限循环下去,就会在栈中不断调用方法,直至栈溢出。

  • 相关阅读:
    Android 内存剖析 – 发现潜在问题
    Android内存泄漏问题(一)
    Android的事件处理机制详解(二)-----基于监听的事件处理机制
    Android的事件处理机制(一)------基于回调机制的事件处理
    OOA、OOD 和 OOP
    面向对象初识
    Python 2 和 Python 3 的区别
    软件开发规范
    语法分析和词法分析
    循环删除的坑
  • 原文地址:https://www.cnblogs.com/wth21-1314/p/9288269.html
Copyright © 2011-2022 走看看