小编Jud*_*han的帖子

异步调用和回调之间有什么区别

我很难理解异步调用回调之间的区别.

我读过这篇讲授CallBacks的帖子,但没有一个答案说明它与异步调用的区别.

这是Callbacks = Lambda表达式吗?

回调是在不同的线程中运行的?

有人能用简单的英语解释这个吗?

asynchronous callback

27
推荐指数
1
解决办法
5万
查看次数

静态上下文无法访问收集器中的非静态

我有一群学生.首先,我想用标记对它们进行分组.然后我想进一步将这些集合分组到同名学生中.

   Map<Integer,Map<String,List<String>>> groupping = students.stream()
                                                        .collect(Collectors.groupingBy(Student::getMarks, 
                                                                Collectors.mapping(Student::getName,Collectors.toList())));
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说,

非静态方法不能从静态上下文中引用.

是.我非常清楚,如果没有实例,我就无法引用非静态方法.但是对于所有这些流操作,我真的很困惑.

而不是如何解决这个问题; 我真的想知道这里发生了什么.您的任何投入都表示赞赏!

因为如果我写下面的分组是完全有效的;

    Map<Integer,List<Student>> m = students.stream().
            collect(Collectors.groupingBy(Student::getMarks));
Run Code Online (Sandbox Code Playgroud)

这是我的Student.java类(如果你需要的话)

public class Student {

    private String name;
    private int marks;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getMarks() {
        return marks;
    }

    public void setMarks(int marks) {
        this.marks = marks;
    }

    public Student(String name, int marks) {

        this.name = name;
        this.marks = marks;
    }

    @Override
    public String toString() { …
Run Code Online (Sandbox Code Playgroud)

collect java-8 java-stream method-reference

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

应用补丁不会在 Git 中创建新创建的文件

我创建了一个名为ABC.txtin 分支x的新文件。我没有提交更改。

然后我想将这些更改移至名为y的新分支中。所以我按照以下步骤操作:

  1. $ git diff > mypatch.diff

  2. $ git clean -fd

  3. $ git checkout y

  4. $ git apply myPatch.diff error: ABC.txt: No such file or directory

为什么 git 不能简单地在我所在的当前分支中创建新的 ABC.txt 文件?

git patch

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

将XX:XX AM/PM转换为24小时制

我搜索了谷歌,我无法找到你如何取一个字符串:xx:xx AM/PM(例如下午3:30)并更改它现在是24小时.

例如,前一次是"15:30".我已经研究过使用if then语句来操作字符串,但这看起来非常繁琐.有没有简单的方法来做到这一点?

Input: 3:30 PM
Expected Output:  15:30
Run Code Online (Sandbox Code Playgroud)

java string time

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

HashMap 中的 keySet() 方法可能更简洁

Mac OS 上的 JDK 8,查看 HashMap.java 中的以下代码:

    public Set<K> keySet() {
        Set<K> ks = keySet;
        if (ks == null) {
            ks = new KeySet();
            keySet = ks;
        }
        return ks;
    }
Run Code Online (Sandbox Code Playgroud)

对返回的 ks 的任何更改都将反映在 keySet 中,因为它们始终指向相同的底层集合,如果这是真的,可以写成:

    public Set<K> keySet() {
        if (keySet == null) {
            keySet = new KeySet();
        }
        return keySet;
    }
Run Code Online (Sandbox Code Playgroud)

两个代码片段的行为是否相同?

如果是这样,为什么HashMap使用第一个变体而不是第二个变体?

java hashmap keyset java-8

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

在Java中转换条件运算符

这在eclipse IDE中出错.(错误符号出现在行号附近)

String[] allText = null;
Run Code Online (Sandbox Code Playgroud)

在此之后我做了一些事情,比如初始化数组等等.但根据一些条件.所以我想使用如下的条件运算符.

List<String> finalText = (allText != null) ?
    Arrays.asList(allText) : (List<String>) Collections.emptyList();
Run Code Online (Sandbox Code Playgroud)

如果我在等号之后放置我的铸件,它运行良好.(包装完整的三元操作)这个错误的目的是什么?

List<String> allHotels = (List<String>) ((allText != null) ?
    Arrays.asList(allText) : Collections.emptyList());
Run Code Online (Sandbox Code Playgroud)

java eclipse casting list conditional-operator

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

Mockito Java中的模拟继承方法

我的班级结构如下:

public class MyParentClass {

    void doSomethingParent() {
        System.out.println("something in parent");
    }
}

public class MyClass extends MyParentClass {

    protected String createDummyRequest(Holder myHolder) {
        //...
        super.doSomethingParent();//I want to avoid this
        //...
        callingDB();
        return "processedOutput";
    }

    private void callingDB() {
        System.out.println("Calling to DB");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我的单元测试:

public class UnitTest {

    public void testCreateDummyRequest() {
        //create my mock holder
        Holder mockHolder = new Holder();

        MyClass mockObj = Mockito.mock(MyClass.class);
        //mock doSomethingParent()
        //mock callingDB()

        //as mockObj is a fully mock, but I need to …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito

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

Chartjs 仅显示第一个和最后一个 x 轴标签

我有一个包含大约 60 个 x 轴标签的数据集。我的折线图未显示 x 轴上的所有标签。

        var ctx = this.refs.basicXYChart;
        var config = {
            type: 'line',
            data: {
                xLabels: Object.keys(result),
                yLabels: Object.values(result),
                datasets: [{
                    label: this.state.report.definition.name,
                    data: Object.values(result),
                    backgroundColor: 'rgba(154, 208, 245, 0.5)',
                    borderWidth: 1,
                    pointStyle: 'circle',
                    pointBackgroundColor: 'rgb(77, 172, 237)',
                    pointRadius: 5,
                    pointHoverRadius: 10,
                    borderWidth: 1,
                    borderColor: '#000000'

                }]
            },
            options: {
                scales: {
                    xAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: this.props.X_label
                        }
                    }],
                    yAxes: [{
                        position: 'left',
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: this.props.Y_label …
Run Code Online (Sandbox Code Playgroud)

javascript charts

5
推荐指数
2
解决办法
8750
查看次数

何时使用"throws RuntimeException"Java

我正在进行代码审查,我遇到了这个方法定义:

public void something() throws RuntimeException
Run Code Online (Sandbox Code Playgroud)

有没有合理的理由在Java中编写'throws RuntimeException'?

java throws runtimeexception

4
推荐指数
2
解决办法
2464
查看次数

如何在多个SELECT输出中标记结果表

我写了一个简单的虚拟过程来检查保存在数据库中的数据.当我运行我的程序时,它输出如下数据.

在此输入图像描述

我想标记表格.然后即使是QA人也可以识别出作为结果的数据.我该怎么做?

**更新:**此过程通过Management Studios手动运行.与我的申请无关.因为我想检查的是数据是否已正确插入/更新.

为了更清楚,我想将表格上方的表格名称显示为标签.

sql-server alias ssms stored-procedures

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

在 Java 中使用扫描仪读取单词

我希望在 java 中的一行中读取多个输入。

前任:

System.out.print("Input name, age, address, city: ");
Run Code Online (Sandbox Code Playgroud)

用户将输入这些用空格分隔的详细信息

控制台中的预期内容:

输入姓名、年龄、地址、城市:Tom, 10, USA, NY

使用 Scanner 类知道如何做到这一点。谢谢。

java java.util.scanner

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

如何避免此场景中的if-else语句

我有一个具有以下身体的班级成绩:

public class Grades {

    public static Grade getGrades(int marks) {
        if (marks < 10) {
            return Grade.FAILED;
        } else if (marks < 13) {
            return Grade.DISTINCTION;
        } else if (marks < 15) {
            return Grade.GREAT;
        } else {
            return Grade.GREATEST;
        }
    }

    public static void main(String args[]){
        System.out.println(getGrades(6));
    }
}
Run Code Online (Sandbox Code Playgroud)

和枚举类:

public enum Grade {

    FAILED("F"),
    DISTINCTION("D"),
    GREAT("G"),
    GREATEST("G");


    private String code;

    Grade(String code){
        this.code = code;
    }

    public String getCode() {
        return code;
    }

}
Run Code Online (Sandbox Code Playgroud)

我怎么能在打电话时避免使用if else构造getGrades(int …

java enums if-statement

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

在服务器停止之前,HashSet的随机顺序始终相同

HashSet不维护其元素的顺序.我将我的应用程序部署到jBoss服务器,我正在观察a的顺序HashSet. 这是随机的.

但是在重新启动我的应用程序服务器之前总是有相同的随机顺序.任何人都可以用底层机制解释这种情况?

我正在深入探讨与一个元素的顺序有关的问题HashSet<Object>.

我们的一些服务器具有始终保持正确的顺序(仍然是随机的)而有些则没有.完成重启后,我想出来了.

java hashset

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