从java中的静态方法返回值时获取nullpointerexception

时间:2015-05-25 13:07:09

标签: java

我试图从静态方法返回一个String,并在另一个静态方法中指定一个字符串。

               public static ArrayList val(){    
                  String a = "Some value";    
                  String someString = identifyString(a);    
                  //some code     
                  }    

               private static String identifyString(String a){    
                   String[] ac = "";    
                   String b = "";    
                   String c = "";
                   ac = a.split(some pattern);    
                      if(some condition){    
                                 b = a[0];  
                                 c = a[1];
                                 return b+"-"+c;    
                                 }    
                     }          

返回b +“ - ”+ c抛出nullpointerexception.Please帮助。我还将“someString”设为静态,但它也给出了nullpointerexception。

2 个答案:

答案 0 :(得分:0)

仅在满足“if”条件时才返回值。如果不满足“if”条件,程序将不返回任何内容。

确保无论什么

总是返回一些东西

答案 1 :(得分:0)

代码存在很多问题 - 也许您可以澄清一下您要实现的目标?方法是静态的这一事实并不重要,并且不需要分配空字符串(并且对字符串数组没有意义)。

我猜你的意思是: b = ac [0]; c = ac [1];

返回b +“ - ”+ c;

您还应该防止split返回大小小于2的数组,在val()的方法描述符中为返回数组提供泛型类型,并使用更多描述性字段名称。