我有这样的程序
String[] hello; Integer[] yAxisData2;
我想将字符串json数组转换为int数组。 ,如何将字符串hello [i]转换为int数组?
private void generateY(){
mApiInterface.getGulaDarah(idUser).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if(response.isSuccessful()){
try{
JSONArray jsonRes = new JSONArray(response.body().string());
hello = new String[jsonRes.length()];
for(int i=0; i<jsonRes.length(); i++){
JSONObject jsonObject = jsonRes.getJSONObject(i);
hello[i] =jsonObject.getString("guladarah_acak");
yAxisData2[]=Integer.parseInt(hello[i]);
}
}catch (JSONException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
答案 0 :(得分:0)
您想要的不是很清楚,所以我将提供一些解决方案,希望至少有一个可用。
如果您想要将字符串数组转换为整数数组,则可以使用;
private int[] convert(String[] stringArray) {
int integerArray[] = new int[stringArray.length];
for (int i = 0; i < stringArray.length; i++) {
integerArray[i] = Integer.parseInt(stringArray[i]); // You'll need to handle errors here
}
return integerArray;
}
尽管我建议您使用列表代替。
或者,您可以使用Java 8中的Lambda表达式;
int[] arrayOfInts = Arrays.asList(arrayOfStrings).stream().mapToInt(Integer::parseInt).toArray();
否则,如果您想要将单个String转换为可以使用的Integer数组;
public int[] convert(String stringToConvert) {
int[] intArray = new int[stringToConvert.length()];
for (int i = 0; i < stringToConvert.length(); i++){
intArray[i] = stringToConvert.charAt(i) - '0';
}
return intArray;
}