小编msr*_*msr的帖子

Java - 是否有像instanceof这样的"子类"?

我重写了equals()方法,我需要知道对象是否是Event的子类的实例(Event是超类).我想要像"obj subclassof Event"这样的东西.怎么做到这一点?

提前致谢!

java equals subclass instanceof

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

Java中的简单划分 - 这是一个错误还是一个功能?

我正在Java应用程序中尝试这个简单的计算:

System.out.println("b=" + (1 - 7 / 10));
Run Code Online (Sandbox Code Playgroud)

显然我想要b=0.3输出,但这就是我得到的b=1.

什么?!为什么会这样?

如果我做:

System.out.println("b=" + (1 - 0.7));
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果b=0.3.

这里出了什么问题?

java division

16
推荐指数
3
解决办法
17万
查看次数

Java - Collections.sort()性能

我使用Collections.sort()对其元素实现Comparable接口的LinkedList进行排序,因此它们按自然顺序排序.在javadoc文档中,它说这个方法使用具有n*log(n)性能的mergesort算法.

我的问题是,是否有更有效的算法来排序我的LinkedList?

该列表的大小可能非常高,排序也会非常频繁.

谢谢!

java sorting algorithm collections

15
推荐指数
2
解决办法
3万
查看次数

Java - PriorityQueue与已排序的LinkedList

哪个实现不那么"重":PriorityQueue或排序的LinkedList(使用Comparator)?

我希望对所有项目进行排序.插入将是非常频繁和偶尔我将必须运行所有列表来进行一些操作.

java sorting linked-list priority-queue

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

通信数据包/帧图:记录协议

你能给我推荐一款图表软件吗,我可以在其中绘制这样的图表(尽可能开箱即用): 在此输入图像描述

这类图表通常用于记录通信协议,以便人们可以轻松理解数据包/帧的组成方式。

diagram communication protocols

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

Java - getConstructor()?

我把这个问题写成代码中的注释,我觉得这样比较容易理解.

public class Xpto{
    protected AbstractClass x;

    public void foo(){

       // AbstractClass y = new ????? Car or Person ?????

       /* here I need a new object of this.x's type (which could be Car or Person)
          I know that with x.getClass() I get the x's Class (which will be Car or 
          Person), however Im wondering how can I get and USE it's contructor */

       // ... more operations (which depend on y's type)
    }

}

public abstract class AbstractClass { …
Run Code Online (Sandbox Code Playgroud)

java reflection getconstructor

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

Qt控制台应用程序:while循环阻塞事件循环

我正在制作一个控制台应用程序,我用std :: getline()获取用户输入(在while循环中).我也使用QextSerialPort(继承QIODevice).因此我需要一个事件循环,所以我使用QCoreApplication并调用a.exec().

问题是getline()阻塞事件循环,虽然它被阻止,但我无法从串口接收任何东西.我试着用

while(1){getline()}循环中的QCoreApplication :: processEvents(),但发现这不是一个好的解决方案.然后,我试着打电话

QCoreApplication :: processEvents()在QThread中但它不起作用.

这是我使用的代码:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Base *base = new Base();
    Commander *commander = new Commander(base);

    QObject::connect(commander, SIGNAL(end()), &a, SLOT(quit()));
    QTimer::singleShot(0, commander, SLOT(run()));

    return a.exec();
}

void Commander::askToConnect()
{
    if(base->connect() == false){
        cout << "Failed to open port." << endl;
    }
}

void Commander::run{
    string inputline;

    askToConnect();

    while(1){
       QCoreApplication::processEvents();  // ???

       cout << endl << "> ";
       getline(cin, inputline);

       // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在不阻塞事件循环的情况下使用getline()(或类似方法)?

console qt

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

Java - Collections.binarySearch 与 PriorityQueue?

我可以使用 Collections.binarySearch() 方法来搜索 PriorityQueue 中的元素吗?否则,如何将搜索算法应用于 PriorityQueue?

我有这个(Evento 类实现 Comparable):

    public class PriorityQueueCAP extends PriorityQueue<Evento>{

       // (...)

       public void removeEventos(Evento evento){

           Collections.binarySearch(this, evento); // ERROR!

       }
    }
Run Code Online (Sandbox Code Playgroud)

我得到了这个错误:“类型集合中的方法 binarySearch(List>, T) 不适用于参数(PriorityQueueCAP,Evento)”

为什么?

提前致谢!

java collections priority-queue

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