Java Android字符串操作导致活动崩溃
我试图提取一个字符串并过滤它,直到找到一个逗号。我尝试了两种不同的方法,两次我的活动都使整个应用程序崩溃 方法1:Java Android字符串操作导致活动崩溃,java,android,string,Java,Android,String,我试图提取一个字符串并过滤它,直到找到一个逗号。我尝试了两种不同的方法,两次我的活动都使整个应用程序崩溃 方法1: Bundle gotBasket = getIntent().getExtras(); String stringToSearch = gotBasket.getString("Path"); String first = ""; for (int i = 0; i < stringToSearch.length(); i++){ char[] buffer = ne
Bundle gotBasket = getIntent().getExtras();
String stringToSearch = gotBasket.getString("Path");
String first = "";
for (int i = 0; i < stringToSearch.length(); i++){
char[] buffer = new char[1];
stringToSearch.getChars(i, i+1, buffer, 0);
if (!buffer.equals(",")){
first = first + buffer.toString();
}else{
i = stringToSearch.length();
}
}
Bundle-gotbarket=getIntent().getExtras();
String stringToSearch=gotbarket.getString(“路径”);
字符串优先=”;
对于(int i=0;i
方法2:
Bundle gotBasket = getIntent().getExtras();
String stringToSearch = gotBasket.getString("Path");
String first = "";
for (int i = 0; i < stringToSearch.length(); i++){
if (stringToSearch.charAt(i) != ','){
first = first + stringToSearch.charAt(i);
}else{
i = stringToSearch.length();
}
}
Bundle-gotbarket=getIntent().getExtras();
String stringToSearch=gotbarket.getString(“路径”);
字符串优先=”;
对于(int i=0;i
在尝试了这两种方法之后,我再次意识到为什么我不喜欢为Android开发,我得到的唯一反馈是一个NullPointerException,它没有告诉我任何事情
编辑:路径字符串实际上返回了null,这是我的一个愚蠢错误,因为睡眠不足,谢谢大家这么快回答我的问题。为什么您的else语句将其设置为字符串长度,我建议使用break 此代码的目的是什么?似乎您正在尝试查找第一个逗号,并在找到逗号后使用前面的字符串 如果是这样的话,我可能会这样做
Bundle gotBasket = getIntent().getExtras();
String stringToSearch = gotBasket.getString("Path");
String first;
int lPosition = stringToSearch.indexOf(",");
if ( lPosition != -1 )
{
// Do you Concat here
first = stringToSearch.substr(0, lPosition);
}
试试这种方法,希望这能帮助你解决问题。
Bundle gotBasket = getIntent().getExtras();
String stringToSearch = gotBasket.getString("Path")!=null?gotBasket.getString("Path"):"";
String first;
if(stringToSearch.contains(",")){
first = stringToSearch.split(",")[0];
}else{
first =stringToSearch;
}
看起来您需要执行一些调试语句,以确定
.getString(“Path”)
是否返回空值。此外,作为注释,java通常使用驼峰大小写作为编码标准。您有尝试解析的字符串示例吗?添加一些调试以打印出字符以了解失败的位置。能否显示如何将“路径”传递给intent的代码?如果(StringToSearch==null){System.out.println(“字符串为null”);return;}