小编use*_*158的帖子

如何从git diff读取输出?

手册页git-diff很长,并解释了许多初学者似乎不需要的案例.例如:

git diff origin/master
Run Code Online (Sandbox Code Playgroud)

git diff git-diff

254
推荐指数
5
解决办法
9万
查看次数

如何理解此Java 8 Stream collect()方法?

我试图将一个int数组转换为List,并且采取了使用Java 8 Stream的陌生路线,并提出了这个建议。

Arrays.stream(arr).boxed().collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我仍然很难完全理解这条线,

  1. 为什么Collectors.toList()在这种情况下返回一个ArrayList<Integer>实现List接口?为什么不LinkedList<Integer>符合List接口的通用类呢?我找不到这事,除了简短提的ArrayList 这里,在API说明部分。

  2. 的左面板是什么 在此处输入图片说明 Stream.collect()意思?显然R是通用返回类型(ArrayList<Integer>在我的代码中)。而且我认为<R, A>是该方法的泛型类型参数,但是如何指定它们呢?我查看了Collector界面文档,但无法吸收它。

java list java-8 java-stream collectors

11
推荐指数
1
解决办法
346
查看次数

删除并卸载Android NDK

我试图卸载Android NDK,因为我不再需要它了.Eclipse中的路径似乎已被打破.我该如何清理这个烂摊子?我试过brew,但它说没有安装NDK.(它甚至告诉我SDK没有安装!也许没有通过brew安装?)我正在使用Mac.

android-ndk

8
推荐指数
2
解决办法
1万
查看次数

我应该在javadoc中写多个@return标签

假设我有一个返回字符串数组的java方法.在方法内部,我有多个return语句,具体取决于条件.

public String[] userLogIn() {
    String[] success = {"You", "are", "the", "king"};
    String[] errorMsg = {"You", "are", "nothing"};
    double ran = Math.random();
    if(ran < 0.33)
        return success;
    else if (ran < 0.66)
        return errorMsg;
    else
        return null;
}
Run Code Online (Sandbox Code Playgroud)

这个例子可能太天真了.但我的观点是,我应该/可以使用多个@return标签 @return this array if condition 1 is met @return that array if condition 2 is met @return null if condition 3 is met 吗?

我经常写一个单独的@return the login message但是当有一个null返回时认为这没有意义.一般来说哪种方式更好的编码实践?

java javadoc return code-documentation

8
推荐指数
1
解决办法
5016
查看次数

Java 2d int数组是不是通用的?为什么?

我知道原始ints(int[] arr = new int[5])的Java数组不被视为通用对象,因此它不能作为参数提供给任何一个Arrays.sort(T[] a, Comparator<? super T> c)ArrayList.toArray(T[] a).

但是我刚发现2d原始整数数组可以作为上述方法的参数!代码如下.

int[][] points = new int[3][3];
Arrays.sort(points, (a, b) -> a[1] - b[1]);

List<int[]> list2 = new ArrayList<>();
list2.add(new int[]{1,3,5});
list2.add(new int[]{2});
int[][] array2 = list2.toArray(new int[5][5]);
for(int[] i : array2)
  System.out.println(Arrays.toString(i));
Run Code Online (Sandbox Code Playgroud)

怎么可能?是因为2d int数组被视为原始int数组的数组,其中内部数组本身不是原始数组?这种行为背后的设计是什么?

java arrays generics types

1
推荐指数
1
解决办法
67
查看次数