无法将字符串拆分为数组并存储到 Android Java 中的数组对象
Unable to split string to array and store to array object in Android Java
有什么方法可以把一个字符串拆分成一个数组,然后循环成一个数组class in android java?
下面是我的代码,但它不能循环
示例 ScanResultProduct 记录 ="P001,7,1,7,P002,8,2,16";
String ScanResultProduct[];
ScannedProductList[] ScannedProductList;
ScanResultProduct = UserScanResulted.split(",");
int Length = ScanResultProduct.length;
int LengthResult = Length / 4;
ScannedProductList[] ScanResultProductList = new ScannedProductList[LengthResult];
for (int i = 0, index = 0; index < ScannedProductList.length; index++) {
ScanResultProductList[index] = new ScannedProductList(ScanResultProduct[i], ScanResultProduct[i + 1], ScanResultProduct[i + 2], ScanResultProduct[i + 3]);
i += 4;
}
这是 ScanResultProductList class
public class ScannedProductList {
public String ProductID;
public String ProductPrice;
public String ProductQuantity;
public String ProductTotalPrice;
public ScannedProductList(String productID, String productPrice, String productQuantity, String productTotalPrice) {
ProductID = productID;
ProductPrice = productPrice;
ProductQuantity = productQuantity;
ProductTotalPrice = productTotalPrice;
}
public String getProductID() {
return ProductID;
}
public String getProductPrice() {
return ProductPrice;
}
public String getProductQuantity() {
return ProductQuantity;
}
public String getProductTotalPrice() {
return ProductTotalPrice;
}
public String Display(){
return ProductID + "," + ProductPrice + "," + ProductQuantity +","+ ProductTotalPrice;
}
public void setProductID(String productID) {
ProductID = productID;
}
public void setProductPrice(String productPrice) {
ProductPrice = productPrice;
}
public void setProductQuantity(String productQuantity) {
ProductQuantity = productQuantity;
}
public void setProductTotalPrice(String productTotalPrice) {
ProductTotalPrice = productTotalPrice;
}
}
无法循环,错误信息为
E/AndroidRuntime:致命异常:main
进程:com.example.finalfypprojectapplication,PID:14722
java.lang.RuntimeException:无法启动 activity ComponentInfo{com.example.finalfypprojectapplication/com.example.finalfypprojectapplication.ConfirmPaymentActivity}:java.lang.NullPointerException:尝试获取空数组的长度
这是一个 NullPointerException。
在调用拆分之前,您必须检查您的 String != nulll。
之后,在调用 length 方法之前确保您的 String[] 不为空。
之后,如果我是你,当我有一个 String[] 时,我将使用你的 setter 在 For 循环中构建我的对象。
有什么方法可以把一个字符串拆分成一个数组,然后循环成一个数组class in android java? 下面是我的代码,但它不能循环
示例 ScanResultProduct 记录 ="P001,7,1,7,P002,8,2,16";
String ScanResultProduct[];
ScannedProductList[] ScannedProductList;
ScanResultProduct = UserScanResulted.split(",");
int Length = ScanResultProduct.length;
int LengthResult = Length / 4;
ScannedProductList[] ScanResultProductList = new ScannedProductList[LengthResult];
for (int i = 0, index = 0; index < ScannedProductList.length; index++) {
ScanResultProductList[index] = new ScannedProductList(ScanResultProduct[i], ScanResultProduct[i + 1], ScanResultProduct[i + 2], ScanResultProduct[i + 3]);
i += 4;
}
这是 ScanResultProductList class
public class ScannedProductList {
public String ProductID;
public String ProductPrice;
public String ProductQuantity;
public String ProductTotalPrice;
public ScannedProductList(String productID, String productPrice, String productQuantity, String productTotalPrice) {
ProductID = productID;
ProductPrice = productPrice;
ProductQuantity = productQuantity;
ProductTotalPrice = productTotalPrice;
}
public String getProductID() {
return ProductID;
}
public String getProductPrice() {
return ProductPrice;
}
public String getProductQuantity() {
return ProductQuantity;
}
public String getProductTotalPrice() {
return ProductTotalPrice;
}
public String Display(){
return ProductID + "," + ProductPrice + "," + ProductQuantity +","+ ProductTotalPrice;
}
public void setProductID(String productID) {
ProductID = productID;
}
public void setProductPrice(String productPrice) {
ProductPrice = productPrice;
}
public void setProductQuantity(String productQuantity) {
ProductQuantity = productQuantity;
}
public void setProductTotalPrice(String productTotalPrice) {
ProductTotalPrice = productTotalPrice;
}
}
无法循环,错误信息为
E/AndroidRuntime:致命异常:main 进程:com.example.finalfypprojectapplication,PID:14722 java.lang.RuntimeException:无法启动 activity ComponentInfo{com.example.finalfypprojectapplication/com.example.finalfypprojectapplication.ConfirmPaymentActivity}:java.lang.NullPointerException:尝试获取空数组的长度
这是一个 NullPointerException。 在调用拆分之前,您必须检查您的 String != nulll。 之后,在调用 length 方法之前确保您的 String[] 不为空。 之后,如果我是你,当我有一个 String[] 时,我将使用你的 setter 在 For 循环中构建我的对象。