小编Lii*_*Lii的帖子

樱桃挑选Git意味着什么?

最近,我被要求cherry-pick提交.

那么,在git中挑选一个提交意味着什么呢?你怎么做呢?

git cherry-pick git-cherry-pick

2117
推荐指数
11
解决办法
101万
查看次数

如何修改指定的提交?

我通常会提交一份提交列表以供审核.如果我有以下提交:

  1. HEAD
  2. Commit3
  3. Commit2
  4. Commit1

...我知道我可以修改头部提交git commit --amend.但是我怎么能修改Commit1,因为它不是HEAD提交?

git git-rewrite-history

2077
推荐指数
15
解决办法
69万
查看次数

按值对地图<键,值>进行排序

我是Java的新手,经常发现我需要对Map<Key, Value>值进行排序.

由于值不是唯一的,我发现自己将其转换keySet为a array,并通过数组排序对该数组进行排序,并使用自定义比较器对与键关联的值进行排序.

有没有更简单的方法?

java sorting collections dictionary

1569
推荐指数
27
解决办法
134万
查看次数

JDK和JRE有什么区别?

JDK和JRE有什么区别?
他们的角色是什么,我应该何时使用其中一个?

java

857
推荐指数
17
解决办法
64万
查看次数

如何导入其他Python文件?

如何在Python中导入其他文件?

  1. 我怎样才能导入特定的python文件import file.py
  2. 如何导入文件夹而不是特定文件?
  3. 我想根据用户输入在运行时动态加载Python文件.
  4. 我想知道如何从文件中加载一个特定的部分.

例如,main.py我有:

from extra import * 
Run Code Online (Sandbox Code Playgroud)

虽然这给了我所有的定义extra.py,但也许我想要的只是一个定义:

def gap():
    print
    print
Run Code Online (Sandbox Code Playgroud)

我怎么添加到import语句只得到gapextra.py

python python-import

702
推荐指数
13
解决办法
141万
查看次数

什么是PECS(制作人扩展消费者超级)?

我在阅读泛型时遇到了PECS(制片extends人和消费者的super简称).

能否给我一个人解释如何使用佩奇之间解决困惑extendssuper

java generics super pecs bounded-wildcard

680
推荐指数
11
解决办法
9万
查看次数

在使用next()或nextFoo()之后,Scanner正在跳过nextLine()?

我正在使用这些Scanner方法nextInt()nextLine()阅读输入.

它看起来像这样:

System.out.println("Enter numerical value");    
int option;
option = input.nextInt(); // Read numerical value from input
System.out.println("Enter 1st string"); 
String string1 = input.nextLine(); // Read 1st string (this is skipped)
System.out.println("Enter 2nd string");
String string2 = input.nextLine(); // Read 2nd string (this appears right after reading numerical value)
Run Code Online (Sandbox Code Playgroud)

问题是输入数值后,第一个input.nextLine()被跳过而第二个input.nextLine()被执行,所以我的输出如下所示:

Enter numerical value
3   // This is my input
Enter 1st string    // The program is supposed to stop here and …
Run Code Online (Sandbox Code Playgroud)

java io java.util.scanner

627
推荐指数
17
解决办法
45万
查看次数

如何使方法返回类型通用?

考虑这个例子(典型的OOP书籍):

我有一个Animal班级,每个人都Animal可以有很多朋友.
和子类一样Dog,Duck,Mouse等它添加特定的行为一样bark(),quack()等等.

这是Animal班级:

public class Animal {
    private Map<String,Animal> friends = new HashMap<>();

    public void addFriend(String name, Animal animal){
        friends.put(name,animal);
    }

    public Animal callFriend(String name){
        return friends.get(name);
    }
}
Run Code Online (Sandbox Code Playgroud)

这里有一些代码片段有很多类型转换:

Mouse jerry = new Mouse();
jerry.addFriend("spike", new Dog());
jerry.addFriend("quacker", new Duck());

((Dog) jerry.callFriend("spike")).bark();
((Duck) jerry.callFriend("quacker")).quack();
Run Code Online (Sandbox Code Playgroud)

有什么办法可以使用泛型来返回类型来摆脱类型转换,这样我就可以说了

jerry.callFriend("spike").bark();
jerry.callFriend("quacker").quack();
Run Code Online (Sandbox Code Playgroud)

这里有一些返回类型的初始代码作为一个从未使用过的参数传递给方法.

public<T extends Animal> T callFriend(String name, T unusedTypeObj){
    return (T)friends.get(name);        
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在运行时找出返回类型而不使用额外的参数instanceof?或者至少通过传递类型的类而不是虚拟实例. …

java generics return-value

557
推荐指数
11
解决办法
64万
查看次数

如何确定一个对象的类?

如果类B和类C扩展类A并且我有一个类型的对象,B或者C我如何确定它是一个实例的类型?

java inheritance

487
推荐指数
7
解决办法
59万
查看次数

按谓词查找第一个元素

我刚刚开始使用Java 8 lambdas,我正在尝试实现我在函数式语言中习惯的一些东西.

例如,大多数函数式语言都有某种类型的查找函数,这些函数对序列进行操作,或者列表返回谓词所在的第一个元素true.我在Java 8中实现这一目标的唯一方法是:

lst.stream()
    .filter(x -> x > 5)
    .findFirst()
Run Code Online (Sandbox Code Playgroud)

然而这对我来说似乎效率低下,因为过滤器会扫描整个列表,至少根据我的理解(这可能是错误的).有没有更好的办法?

java java-8 java-stream

478
推荐指数
5
解决办法
36万
查看次数