小编jia*_*ang的帖子

当我们有==运算符时为什么是equals()方法?

当我看到equals()方法的实现时,它什么也没做,只是做了什么==.所以我的问题是,当我们有==运营商做同样的工作时,需要将它作为单独的方法吗?

java equals referenceequals

32
推荐指数
3
解决办法
9233
查看次数

Java固定内存映射

是否有一个简单,高效的Map实现,允许地图使用内存限制.

我的用例是我想动态分配创建时可用的大部分内存,但我不希望OutOFMemoryError在将来的任何时候.基本上,我想使用这个地图作为缓存,但我想避免繁重的缓存实现,如EHCache.我的需求很简单(最多一个LRU算法)

我应该进一步澄清我的缓存中的对象是char[]或类似的原语,它们不会保存对其他对象的引用.

我可以为每个条目设置最大大小的上限.

java caching dictionary memory-management fixed

13
推荐指数
3
解决办法
3702
查看次数

为什么MouseEvent的getX()getY()似乎偏离了真实坐标?

我有一个JPanel嵌入式内部JFrame.JPanel是添加CENTERBorderLayout.我使用下面的代码借鉴它,但MouseEventgetX(),并getY()似乎抵消了真正的协调.为什么?

相关代码是: -

private Image backBuffer = createImage(getWidth(), getHeight());

public void mouseDragged(MouseEvent e) {
    //System.out.println("Canvas.mouseDragged()");
    Graphics2D g2d = (Graphics2D) backBuffer.getGraphics();
    int x = e.getX(), y = e.getY();
    if(lastCoord == null) {
        g2d.drawRect(x, y, 0, 0);
    } else {
        g2d.drawLine(lastCoord[0], lastCoord[1], x, y);
    }
    lastCoord = new Integer[]{x, y};
    repaint();
}

public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D graphics2D = (Graphics2D) g;
    graphics2D.setColor(Color.black);
    graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
        RenderingHints.VALUE_ANTIALIAS_ON); …
Run Code Online (Sandbox Code Playgroud)

java swing

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

Mysqli多行插入,简单的多插入查询

如何使用mysqli插入此查询?...

INSERT INTO table (field1, field2, field3) VALUES ('value', 'value', 'value'), ('value', 'value', 'value'), ('value', 'value', 'value');
Run Code Online (Sandbox Code Playgroud)

通常在mysql中这个查询是直接的,并且会插入3行,如何在mysqli中执行此操作而不使用预准备语句或者可能使用预准备语句但不会太复杂?我只是想知道是否有办法执行这样的查询而不用在PHP中做额外的时髦的东西.

本质上,我有一些提取的数据,每个插入大约有10行(除了有多行之外还需要多个插入),这就是我需要的.我只希望用查询来执行此操作,因为我通常使用mysql完成它,而不是每行添加多个插入.

php mysql database mysqli

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

将列表打印到字符串时删除最后一个逗号或其他分隔符

让我们假设我有一个datastructuren元素(0, 1, ... , n-1).

并假设这些元素具有一些我想要打印的属性(假设为int).我想打印datastructure一行,带分隔符(comma,space).所以,结果将是这样的

13, 14, 15, 16, 17

添加逗号和空格(在Java中)的最佳方法是什么?

这些是我采取的方法:

  1. 如果datastructureIterable,则迭代0 to n-2并将分隔符附加到每个分隔符,然后打印最后一个元素.

  2. 遍历所有元素并将所有内容追加到空String(或Stringbuilder),然后在最后删除最后一个deliminator(hardcoded).

我觉得有更好的东西.

编辑:这个问题很独特.'可能重复'只涉及打印,而不是弄乱分隔符.

Edit2:按要求尝试

// 1st approach
public void printStuff(ArrayList<Integer> input) {
    for (int i=0; i<input.size()-1; i++) {
        System.out.print(input.get(i) + ", ");
    }
    System.out.println(input.get(input.size()-1);
}
Run Code Online (Sandbox Code Playgroud)

另一种尝试

// 2nd approach
public void printStuff(ArrayList<Integer> input) {
    StringBuilder sb = new …
Run Code Online (Sandbox Code Playgroud)

java string

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