如何使此方法通用以返回任何类型的List
,目前它返回List
String
个:{/ p>
public static List<String> splitCommaSeparatedStringToListAnyDataTypeArray(String s) {
List<String> ints = new ArrayList<>();
if (isNull(s)) {
return ints;
}
String[] split = s.split(COMMA);
for (String st : split) {
ints.add(String.valueOf(st));
}
return ints;
}
答案 0 :(得分:1)
假设您使用 Java 8 ,您可以使用Function
将String
转换为给定类型,然后将您的方法重写为下一个:
public static <T> List<T> splitCommaSeparatedStringToList(String s,
Function<String, T> function) {
if (isNull(s)) {
return Collections.emptyList();
}
// Convert the array of String into a List of T
return Arrays.stream(s.split(COMMA)).map(function).collect(Collectors.toList());
}
您的初始方法相当于splitCommaSeparatedStringToList(myInputString, String::valueOf)
。
对于以前版本的Java,逻辑是相同的,只需使用 Google Guava 中的FluentIterable
替换Stream
并使用com.google.common.base.Function
代替{ {1}}为映射器功能。
java.util.function.Function
答案 1 :(得分:-1)
仅替换<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_image" >
<ImageView
android:id="@+id/imgLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:textSize="12dp"
android:textColor="#454545"
android:gravity="center_horizontal"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
List<String> with List<?>