小编Gop*_*pal的帖子

构造函数是否可能超越?

我所知道的是,编译器在字节码中编写了一个默认的无参数构造函数.但是如果我们自己编写它,那么构造函数会自动调用.这种现象是构造函数的重写吗?

java constructor overriding

27
推荐指数
4
解决办法
11万
查看次数

HashSet不保证排序?

import java.util.*;
public class DuplicateCheckMain {
 public static void main(String[] gopal){
  Integer[] args = {6,9,2,55,100,1,6,8,9};
  Integer[] args1 = {3,6,2,3,5};
  Set S = new HashSet();
  DuplicateCheck.checkDuplicate(S,args,new String("HashSet"));
  Set S1 = new HashSet();
  DuplicateCheck.checkDuplicate(S1,args1,new String("HashSet"));

  S = new TreeSet();
  DuplicateCheck.checkDuplicate(S,args,new String("TreeSet"));

  S = new LinkedHashSet();
  DuplicateCheck.checkDuplicate(S,args,new String("LinkedHashSet"));

 }
}

public class DuplicateCheck {

 public static void checkDuplicate(Set S, Integer[] args, String setname){
  for(int i = 0;i<args.length;i++){
   if(!S.add(args[i])){System.out.println("Duplicate element "+args[i]);}
  }
  System.out.println(S +" "+ setname);
 }
}
Run Code Online (Sandbox Code Playgroud)

问题:对于带引用S的HashSet,HashSet未排序.但是对于参考S1,HashSet被排序.为什么这样?

java

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

Repaint()不会清除帧

public class Graphics2DTest extends JPanel implements ActionListener{
private Timer time = new Timer(5,(ActionListener) this);
int x = 0,y = 0;
public void paintComponent(Graphics g){

    Graphics2D gui = (Graphics2D) g;
    Rectangle2D rectangle = new Rectangle2D.Double(x,y,100,150);
    gui.setPaint(Color.GREEN);
    gui.fill(rectangle);
    time.start();
}

public void actionPerformed(ActionEvent arg0) {
    x++;
    y++;
    repaint();
}
}
Run Code Online (Sandbox Code Playgroud)

问题是repaint()应该清除框架并在该位置绘制矩形,但先前绘制的矩形仍然存在.那么,怎么做呢?请解释一下你的答案.

java swing

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

标签 统计

java ×3

constructor ×1

overriding ×1

swing ×1