找到关于 Java 的2637 篇文章
79K+ 次浏览
在 Java 中,可以使用 Comparable 接口的 compareTo() 方法比较两个日期。如果两个日期相等,此方法返回 '0';如果 date1 晚于 date2,则返回“大于 0”的值;如果 date1 早于 date2,则返回“小于 0”的值。语法 int compareTo(T o) 例子 import java.text.*; import java.util.Date; public class CompareTwoDatesTest { public static void main(String[] args) throws ParseException { SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = sdformat.parse("2019-04-15"); Date d2 = sdformat.parse("2019-08-10"); System.out.println("The ... 阅读更多
5K+ 次浏览
线程间通信涉及线程之间的通信。在 Java 中实现线程间通信的三个方法是:wait() 此方法导致当前线程释放锁。这将持续到经过特定时间量或另一个线程为此对象调用 notify() 或 notifyAll() 方法为止。notify() 此方法唤醒当前对象监视器上的多个线程中的单个线程。线程的选择是任意的。notifyAll() 此方法唤醒当前对象监视器上的所有线程。例子 class BankClient { int balAmount = 5000; synchronized void withdrawMoney(int ... 阅读更多
838 次浏览
Java 类在编译后以字节码的形式存储在 .class 文件中。类加载器在需要时将 Java 程序的类加载到内存中。类加载器是分层的,因此如果请求加载一个类,它将被委托给父类加载器。Java 中的类加载器类型如下:Bootstrap ClassLoader、Extensions ClassLoader、System ClassLoader 例子 public class ClassLoaderTest { public static void main(String[] args) { System.out.println("class loader for this class: " + ClassLoaderTest.class.getClassLoader()); System.out.println("class loader for DNSNameService: " + sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader()); ... 阅读更多
2K+ 次浏览
getCause() 方法来自 Throwable 类,我们可以使用此方法返回异常的原因,如果未知异常的原因则返回 null。getCause() 方法不接受任何参数,也不抛出异常。它返回由其一个构造函数提供的或由 Throwable 类的 initCause() 方法的形成确定的原因。语法 public Throwable getCause() 例子 public class GetCauseMethodTest { public static void main(String[] args) throws Exception { try { myException(); } catch(Exception e) { System.out.println("Cause ... 阅读更多
412 次浏览
UnsupportedOperationException 是 Java 中 RuntimException 的一个子类,可以抛出它来指示不支持请求的操作。UnsupportedOperationException 类是 Java 集合框架的成员。几乎所有具体的集合(如 List、Queue、Set 和 Map)都会抛出此异常。语法 public class UnsupportedOperationException extends RuntimeException 例子 import java.util.*; public class UnsupportedOperationExceptionTest { public static void main(String[] args) { List aList = new ArrayList(); aList.add('a'); aList.add('b'); List newList = Collections.unmodifiableList(aList); newList.add('c'); } } 在上面的例子中,它将生成 ... 阅读更多
959 次浏览
TreeSet 是 AbstractSet 类的子类,并实现 NavigableSet 接口。默认情况下,TreeSet 给出升序输出,它将使用 Comparable 接口对集合元素进行排序。在 TreeSet 中,我们可以添加相同类型的元素,否则它可能会生成 ClassCastException,因为 TreeSet 默认使用 Comparable 接口。语法 public class TreeSet extends AbstractSet implements NavigableSet, Cloneable, Serializable 我们可以通过两种方式迭代 TreeSet。使用迭代器我们可以使用 Iterator 接口迭代 TreeSet 的元素。例子 import java.util.*; public class IteratingTreeSetTest { public static void main(String[] args) { ... 阅读更多
1K+ 次浏览
JTable 是 JComponent 类的子类,用于显示复杂的数据结构。JTable 可以遵循模型视图控制器 (MVC) 设计模式来显示行和列中的数据。JTable 将生成 TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener 和 RowSorterListener 接口。我们可以通过实现 JTable 类的 getValueAt() 方法来验证 JTable 单元格是否为空。如果我们点击“点击此处”按钮,它将生成一个动作事件,并向用户显示一个弹出消息,例如“字段为空”。例子 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class JTableEmptyValidateTest extends JFrame { private JPanel panel; private JTable table; ... 阅读更多
388 次浏览
JTable 是 JComponent 类的子类,它可以用来创建一个表格,其中信息显示在多行和多列中。当从 JTable 中选择一个值时,会生成一个 TableModelEvent,通过实现 TableModelListener 接口来处理它。在下面的程序中,如果 JTable 中没有可用行,我们可以显示“无可用记录”文本。例子 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class NoRecordTableTest extends JFrame { private JPanel panel; private JTable table; private JScrollPane scrollPane; public NoRecordTableTest() { panel = new JPanel(); panel.setLayout(new BorderLayout()); ... 阅读更多
6K+ 次浏览
String 类可以用来表示字符字符串,Java 程序中的所有字符串字面量都实现为 String 类的实例。字符串是常量,一旦创建,其值就不能更改(不可变)。我们可以使用下面的程序打印字符串中每个单词的第一个字符。示例 public class FirstCharacterPrintTest { public static void main(String[] args) { String str = "Welcome To Tutorials Point"; char c[] = str.toCharArray(); System.out.println("每个单词的第一个字符: ... 阅读更多