一段时间后,每个程序员都会得到一组实用程序类.其中一些是真正的编程珍珠,它们在你的几个项目中被重用.例如,在java中:
class Separator {
private String separator;
private boolean called;
public Separator(String aSeparator) {
separator = aSeparator;
called = false;
}
@Override
public String toString() {
if (!called) {
called = true;
return "";
} else {
return separator;
}
}
}
Run Code Online (Sandbox Code Playgroud)
和:
public class JoinHelper {
public static <T> String join(T... elements) {
return joinArray(" ", elements);
}
public static <T> String join(String separator, T... elements) {
return joinArray(separator, elements);
}
private static <T> String joinArray(String sep, T[] elements) …Run Code Online (Sandbox Code Playgroud) 有没有这样做的库:
public class Iterables{
private Iterables() {}
public static <T> int sum(Iterable<T> iterable, Func<T, Integer> func) {
int result = 0;
for (T item : iterable)
result += func.run(item);
return result;
}
}
public interface Func<TInput, TOutput> {
TOutput run(TInput input);
}
Run Code Online (Sandbox Code Playgroud) 这是一个简单的java编码问题.我有一个String[Say "hello" "how" "are" "you?"] 列表.我需要-在列表的每个元素之间插入一个分隔符[ ],以便输出hello-how-are-you?
一种简单的方法如下:
private static String addDelim(List<String> a)
{
String s = "";
for(int i=0; i<a.size(); i++)
{
if(i != 0) // don't add if first element
{
s += "-";
}
s += a.get(i);
}
return s;
}
Run Code Online (Sandbox Code Playgroud)
这样做有什么优雅的方式吗?