小编use*_*572的帖子

枚举等于()和==

enum Drill{
        ATTENTION("Attention!"), AT_EASE("At Ease");    
        private String str; 
        private Drill(String str){
            this.str = str;
        }
        public String toString(){
            return str;
        }
    }
public class EnumExample {
    public static void main(String[] args) {
            Drill d1= Drill.valueOf("ATTENTION");
            Drill d2= Drill.valueOf("ATTENTION");
            **System.out.println(d1.equals(d2));//TRUE
            System.out.println(d1==d2);//TRUE**
            System.out.println(Drill.ATTENTION.equals(Drill.valueOf("ATTENTION")));
            System.out.println(Drill.ATTENTION.equals(Drill.AT_EASE));//FALSE 
            System.out.println(Drill.ATTENTION==Drill.valueOf("ATTENTION"));//TRUE
            System.out.println(Drill.ATTENTION==Drill.AT_EASE);//FALSE
}
}
Run Code Online (Sandbox Code Playgroud)

使用==和equals()时的枚举行为似乎相同.根据我的知识,==只是检查参考.因此d1 == d2应为FALSE.任何人都可以解释这种行为为什么是真的?

java enums

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

Java反编译器与java反汇编程序

我正在准备核心java,我有疑问

javap是反汇编程序还是反编译程序?他们之间有什么区别?使用哪些java CLI命令?

java

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

JTabbedPane 选项卡边框去除

JTabbedPane - 即使使用 BasicTabbedPaneUI 后也会显示选项卡边框。请让我知道如何更改以使选项卡之间不显示边框?有什么方法可以完全去除边框吗?

在此输入图像描述

请向我发送代码片段。提前致谢。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.plaf.basic.BasicTabbedPaneUI;

public class TabbedPaneTest implements Runnable {

    @Override
    public void run() {
        final JTabbedPane pane = new JTabbedPane();
        pane.addTab("A", createTab(Color.RED));
        pane.addTab("B", createTab(Color.YELLOW));
        pane.addTab("C", createTab(Color.BLUE));

        pane.setUI(new BasicTabbedPaneUI() {
            @Override
            protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex) {

            }
        });
        pane.setBackground(Color.WHITE);

        pane.addChangeListener(new ChangeListener() {

            @Override
            public void stateChanged(ChangeEvent arg0) {
                pane.setForegroundAt(pane.getSelectedIndex(), Color.GREEN); …
Run Code Online (Sandbox Code Playgroud)

java swing jtabbedpane

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

标签 统计

java ×3

enums ×1

jtabbedpane ×1

swing ×1