对于将Strings.xml中的String-Array更改为ArrayList感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解string转成array,并且为您提供关于ArrayList
对于将Strings.xml中的String-Array更改为ArrayList感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解string转成array,并且为您提供关于ArrayList
- 将Strings.xml中的String-Array更改为ArrayList(string转成array)
- ArrayList
vs String [],如何以及何时使用? - ArrayList list = new ArrayList()在这个泛型为Integer的ArrayList中存放一个String类型的对象
- ArrayList.toArray()中的Java泛型 - Java generics in ArrayList.toArray()
- Eclipse错误:“类型安全性:ArrayList类型的表达式需要未经检查的转换才能符合ArrayList
”
将Strings.xml中的String-Array更改为ArrayList(string转成array)
我正在开发一个Android应用程序。我需要将字符串数组转换为ArrayList。我已经阅读了此书,所有这些情况都将值添加到java文件中的数组中。我已经在strings.xml文件中声明了字符串数组。我的字符串数组在这里:
<string-array name="Lines"> <item>Red Line</item> <item>Blue Line</item> <item>Orange Line</item> <item>Green Line</item> <item>Brown Line</item> <item>Purple Line</item> <item>Pink Line</item> <item>Yellow Line</item></string-array>
我需要将Lines转换为ArrayList。如果我用这个
List<String> Lines = new ArrayList<String>();
声明ArrayList,如何通过ID查找数组列表,并将其存储为Lines?
答案1
小编典典试试这个;
List<String> Lines = Arrays.asList(getResources().getStringArray(R.array.Lines));
这对于kotlin:
val Lines = resources.getStringArray(R.array.Lines).toList()
ArrayList vs String [],如何以及何时使用?
-
首先,String []属于常规数组,这意味着包含该数组的数据大小是固定的,无法更改。否则,不是ArrayList。它可以随着数量元素的增长而增长。此外,ArrayList具有一组访问元素和修改元素的方法。但是,ArrayList只能存储对象,存储速度更慢。
-
对于为什么在ListView或RecyclerView中大多数情况下使用的答案,由于ArrayList的扩展能力,我们使用ArrayList而不是Array。例如,在NoteApp中,如果使用数组,则必须为笔记设置固定分配编号,但是如果添加新笔记,则必须以编程方式进行更改。它无法调整大小以包含新的音符。因此, ArrayList 适合这种情况。
String []是一种原始数据类型,是具有固定大小的普通简单数组,必须在 COMPILE TIME 处知道,并且不能在运行时间。
考虑:
String[] foo = new String[2];
在这里声明一个可以容纳2个字符串的简单字符串数组。 让我们添加一些东西:
foo[0] = "String One";
foo[1] = "String Two";
您也可以像这样向前声明它:
String[] foo = {"String One","String Two"};
您可以更改foo的内容,但不能添加或删除它,因为它具有固定的大小。
另一方面, ArrayList 是一个动态列表,您可以在其中随时在程序中添加或删除T类型的项目。 大小不需要在 COMPILE TIME 定义,并且Arraylist的内容可以在 RUNTIME 添加或删除。这是两者中最灵活的数据结构。
考虑:
ArrayList<String> foo = new ArrayList<>();
声明动态数组。它具有可变的大小,不需要在初始化时定义元素的数量。您可以随时在运行时间中向其添加元素或从中删除元素。
请注意:
foo.add("String One");
foo.add("String Two);
可以随时在程序中添加。删除元素也是如此。由于ArrayList是一个(通用)类,因此它还有一堆简单数组没有的有用方法! 另请阅读有关Java泛型的信息,以了解整个情况。
因此,这取决于您要对ListView进行的操作。如果您只想显示一组固定的字符串,然后选择String [],或者需要通过添加或删除数据来动态更改视图的内容,那么ArrayList可能是适合此工作的一个。>
ArrayList list = new ArrayList()在这个泛型为Integer的ArrayList中存放一个String类型的对象
java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
1.刚刚看到的时候,也是很纳闷后来仔细看了下,java的反射机制;
2.这个可以通过java的反射机制来实现;
3.下面是一个例子:
package com.credream.refelect;
------------------------------------------------------------------------------------------------------------------
运行结果:
35
ArrayList.toArray()中的Java泛型 - Java generics in ArrayList.toArray()
问题:
Say you have an arraylist defined as follows: 假设你有一个arraylist定义如下:
ArrayList<String> someData = new ArrayList<>();
Later on in your code, because of generics you can say this: 稍后在您的代码中,由于泛型,您可以这样说:
String someLine = someData.get(0);
And the compiler knows outright that it will be getting a string. 并且编译器完全知道它将获得一个字符串。 Yay generics! 是的仿制药! However, this will fail: 但是,这将失败:
String[] arrayOfData = someData.toArray();
toArray()
will always return an array of Objects, not of the generic that was defined. toArray()
将始终返回一个Object数组,而不是已定义的泛型数组。 Why does the get(x)
method know what it is returning, but toArray()
defaults to Objects? 为什么get(x)
方法知道它返回什么,但toArray()
默认为Objects?
解决方案:
参考: https://stackoom.com/en/question/2TZ3IEclipse错误:“类型安全性:ArrayList类型的表达式需要未经检查的转换才能符合ArrayList ”
如何解决Eclipse错误:“类型安全性:ArrayList类型的表达式需要未经检查的转换才能符合ArrayList <String []>”?
我正在尝试解决一条警告。这是代码:
ArrayList<String[]> parameters = new ArrayList<>();
Eclipse突出显示“ new ArrayList ()”,并显示以下警告:
类型安全:类型
ArrayList
的表达式需要未经检查的转换才能符合ArrayList<String[]>
我认为我已经正确声明了ArrayList
。似乎警告告诉我只能将类型String[]
插入参数,代码正在执行此操作。有什么建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
今天关于将Strings.xml中的String-Array更改为ArrayList和string转成array的讲解已经结束,谢谢您的阅读,如果想了解更多关于ArrayList
本文标签: