我需要String在Java中连接两个数组.
void f(String[] first, String[] second) {
String[] both = ???
}
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?
我正在android环境中工作,并尝试了以下代码,但它似乎没有工作.
String [] stockArr = (String[]) stock_list.toArray();
Run Code Online (Sandbox Code Playgroud)
如果我定义如下:
String [] stockArr = {"hello", "world"};
Run Code Online (Sandbox Code Playgroud)
有用.有什么东西我不见了吗?
我怎么能转换List成ArrayJava中?
检查以下代码:
ArrayList<Tienda> tiendas;
List<Tienda> tiendasList;
tiendas = new ArrayList<Tienda>();
Resources res = this.getBaseContext().getResources();
XMLParser saxparser = new XMLParser(marca,res);
tiendasList = saxparser.parse(marca,res);
tiendas = tiendasList.toArray();
this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas);
setListAdapter(this.adaptador);
Run Code Online (Sandbox Code Playgroud)
我需要tiendas使用值填充数组tiendasList.
public static void main(String[] args) {
List<String> strlist = new ArrayList<String>();
strlist.add("sdfs1");
strlist.add("sdfs2");
String[] strarray = (String[]) strlist.toArray();
System.out.println(strarray);
}
Run Code Online (Sandbox Code Playgroud)
错误:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at test.main(test.java:10)
Run Code Online (Sandbox Code Playgroud) 我有一个ArrayList,其值为"abcd#xyz"和"mnop#qrs".我想将它转换为数组,然后用#作为分隔符拆分它,并在数组中使用abcd,mnop,在另一个数组中使用xyz,qrs.我尝试了以下代码:
String dsf[] = new String[al.size()];
for(int i =0;i<al.size();i++){
dsf[i] = al.get(i);
}
Run Code Online (Sandbox Code Playgroud)
但它没有说"Ljava.lang.String; @ 57ba57ba"
你能帮我吗.
假设我们有一个IntFunction返回整数数组的变量:
IntFunction<int[]> i;
Run Code Online (Sandbox Code Playgroud)
使用Java 8泛型,可以使用如下构造函数引用初始化此变量:
i = int[]::new
Run Code Online (Sandbox Code Playgroud)
Java编译器如何将其转换为字节码?
我知道对于其他类型,例如String::new,它可以使用invokedynamic指向String构造函数的指令java/lang/String.<init>(...),这只是一个具有特殊含义的方法.
这对数组有什么用处,看到有构造数组的特殊指令?
我有一个ArrayList,其中包含[ann,john]形式的值.我想将此ArrayList转换为{"ann","john"}形式的String数组.
我该怎么做?
我的Android代码:
final Button markabsent = (Button) findViewById(R.id.Button02);
markabsent.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Toast.makeText(display.this,"You have marked the students absent",Toast.LENGTH_SHORT).show();
SparseBooleanArray checkedabsent = lView.getCheckedItemPositions();
for (int i = 0; i < arr2.length; i++)
{
if (checkedabsent.get(i))
{
items2.add(arr2[i]);
System.out.println(items2);
}
}
Log.d("", "items:");
for (String string : items2)
{
Log.d("string is", string);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我的Logcat:
11-10 21:44:00.414: INFO/System.out(2316): [ann, john, ann]
11-10 21:44:00.414: DEBUG/(2316): items:
11-10 21:44:00.414: DEBUG/string is(2316): ann
11-10 …Run Code Online (Sandbox Code Playgroud) ArrayList<String> newArray = new ArrayList<String>();
newArray = urlList.getUrl();
for( int i = 0 ; i < newArray.size();i++)
{
System.out.println(newArray.get(i));
}
newArray.toArray(mStrings );// is this correct
mStrings = newArray.toArray();// or this to convert ArrayList ot String array here
for( int i = 0 ; i < mStrings.length;i++)
{
System.out.println(mStrings[i]);
}
Run Code Online (Sandbox Code Playgroud)
编辑:当我尝试如下,我得到空指针异常:
try
{
newArray.toArray(mStrings );
for(int i = 0 ; i < mStrings.length; i++)
{
System.out.println(mStrings[i]);
}
} catch( NullPointerException e )
{
System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud) public static int[] convertListToArray(List<Integer> listResult) {
int[] result = new int[listResult.size()];
int i= 0;
for (int num : listResult) {
result[i++] = num;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
有没有一种有效的方法将List转换为数组而不显式迭代List?也许可以通过使用以下方法:
Arrays.copyOf(int [] origin , int newLength );
System.arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
Run Code Online (Sandbox Code Playgroud)
我知道,有记载的溶液在这里.但是,我特别感兴趣的是一种有效的转换List<Integer>方式int[]
我想通过attributeNames这是collection of string一种方法setColumnNames,它接受string array.
public Map<String, String> getAttributes(String rowKey, Collection<String> attributeNames, String columnFamily) {
try {
SliceQuery<String, String, String> query = HFactory.createSliceQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get()).
setKey(rowKey).setColumnFamily(columnFamily).setColumnNames(attributeNames);
} catch (HectorException e) {
LOG.error("Exception in CassandraHectorClient::getAttributes " +e+ ", RowKey = " +rowKey+ ", Attribute Names = " +attributeNames);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
定义 setColumnNames
SliceQuery<K, N, V> setColumnNames(N... columnNames);
Run Code Online (Sandbox Code Playgroud)
我每次都得到这个例外 -
The method setColumnNames(String...) in the type SliceQuery<String,String,String> is not applicable for the …Run Code Online (Sandbox Code Playgroud)