Java 我能';t从Hashmap中获取值

Java 我能';t从Hashmap中获取值,java,android,hashmap,Java,Android,Hashmap,当我使用map.put时,我不能从dataF中获取值,如果我替换map.put(“Nos”,dataF);要映射.put(“Nos”,dataF[arrLength]),它可以工作,但返回[Ljava.lang.string;@b1f37df0 ArrayList<HashMap<String,String[]>> ArrList = new ArrayList<HashMap<String,String[]>>(); Inten

当我使用map.put时,我不能从dataF中获取值,如果我替换map.put(“Nos”,dataF);要映射.put(“Nos”,dataF[arrLength]),它可以工作,但返回[Ljava.lang.string;@b1f37df0

    ArrayList<HashMap<String,String[]>> ArrList = new ArrayList<HashMap<String,String[]>>();

    Intent intent = getIntent();
    String[] dataF = intent.getStringArrayExtra("Money");

    ListView list1 = (ListView)findViewById(R.id.listView1);
    int arrLength = dataF.length;

    for(int i=0;i<arrLength;i++)
    {
    HashMap<String, String[]> map = new HashMap<String, String[]>();
    map.put("Nos", dataF[arrLength]);   //  << error 
    ArrList.add(map);          // << error
    }
    ListAdapter adapters = new SimpleAdapter(resultActivity.this,ArrList,
            R.layout.activity_column,
            new String[] {"Nos"},new int[] { R.id.textView1});
    list1.setAdapter(adapters);
ArrayList ArrList=new ArrayList();
Intent=getIntent();
String[]dataF=intent.getStringArrayExtra(“钱”);
ListView list1=(ListView)findViewById(R.id.listView1);
int arrLength=dataF.length;
对于(inti=0;i您尝试放置
map.put(“Nos”,dataF[arrLength]);
作为
HashMap
但是
dataF[arrLength]
是一个
字符串,您的
HashMap
需要一个
Array
字符串

您可以将其更改为:

map.put("Nos", dataF);
如果你解决了这个问题,我想下一行也解决了

使用
dataF[arrLength]
必须获得
ArrayIndexOutOfBounds
,因为数组的最后一个索引是
dataF[arrLength-1]

更新

通过您的评论发言,我认为您尝试显示
hashMpa.getValue();
但是您的值是字符串数组,所以您需要显示一个类似
hashMpa.getValue()[0];

显示值时需要以下信息:

String[] value = hashMap.getValue();

for ( int i = 0 ; i < value.lenght() ; i++)
        Log.d("index "+i , value[i]);
String[]value=hashMap.getValue();
对于(int i=0;i
按如下方式更新代码:

    HashMap<String, String[]> map = new HashMap<String, String[]>();
    map.put("Nos", dataF);   //  Pass the Array instead String
    ArrList.add(map);
HashMap map=newhashmap();
map.put(“Nos”,dataF);//传递数组而不是字符串
ArrList.add(map);

忽略所有其他内容,我可以向您保证,
dataF[arrLength]
除了抛出ArrayIndexOutOfBounds异常外,什么都没有做。当我更改相同的值时,它会显示[Ljava.lang.string;@b1f37df0 not value我猜您是在尝试打印对象,而不是值。请对其使用toString()方法。@FlyzyDevwhen我更改相同的值(map.put(“Nos”,dataF);)它是show[Ljava.lang.string;@b1f37df0不是value你的意思是什么
它是show
?你在哪里显示以及如何显示?在我的列表视图中显示[Ljava.lang.string;@b1f37df0相同这张图片你能发布代码吗,因为我认为你只是显示了所有数组,你需要显示它的索引查看我的更新@FlyzyDev