scjp相关内容

ClassCastException 因为类加载器?

在使用类加载器时,我遇到了以下异常: 线程“main"中的异常 java.lang.ClassCastException: xxx.Singleton 不能转换为 xxx.Singleton 这是否意味着来自类加载器的实例不能转换为另一个类加载器的类? 检查我的代码,感谢类加载器,我可以在其中实例化 3 个单例,即使使用“"安全性也是如此. public static void mai ..
发布时间:2022-01-16 12:00:55 Java开发

为什么我不能添加两个字节并获得一个 int,而我可以添加两个最终字节获得一个字节?

公共类Java{公共静态无效主要(字符串[]参数){最后一个字节 x = 1;最后一个字节 y = 2;字节 z = x + y;//okSystem.out.println(z);字节 a = 1;字节 b = 2;字节 c = a + b;//编译错误System.out.println(c);}} 如果涉及任何 int 大小或更小的表达式的结果始终是 int,即使两个字节的总和适合一个字节 ..
发布时间:2022-01-14 14:04:52 Java开发

使用 printf 和 format 进行格式化

在下面的程序中 类 ZiggyTest2 {公共静态无效主要(字符串[]参数){双 x = 123.456;字符 c = 65;诠释 i = 65;System.out.printf("%s",x);System.out.printf("%b",x);System.out.printf("%c",c);System.out.printf("%5.0f",x);System.out.printf( ..
发布时间:2022-01-12 09:37:21 Java开发

Java - 什么时候是编译器错误,什么时候是运行时异常?

我目前正在使用 Sierra 和 Bates 学习指南学习 SCJP 认证,并且在许多自测(模拟考试题)中,我一直遇到同样的问题 - 我不知道是否会出现特定错误运行时(异常)或编译时(编译错误).我知道这是一个有点模糊的问题,可能无法回答,但是,我如何判断在编译或运行时是否会发现错误?您能否给我发送一些可能对我有帮助的网站链接? 解决方案 编译时错误 - java 编译器无法编译代码,通常 ..
发布时间:2022-01-04 21:33:49 Java开发

除了Writing&之外,使用Serializable从文件中读取对象

在哪些情况下,使用可序列化的实现而不是编写 & 是一种很好的编码习惯.从文件读取对象.在一个项目中,我完成了代码.使用实现可序列化的类,即使在该类/项目中没有任何写入/读取文件的对象? 解决方案 如果对象离开了它在其中创建的 JVM,则该类应该实现 Serializable. 序列化是一种方法,通过该方法,对象可以表示为字节序列,其中包括对象的数据以及有关对象类型和存储在对象中的数据 ..
发布时间:2022-01-04 08:39:37 Java开发

与“if"中的 == 和 = 混淆;陈述

我知道我们不能在 java 的 if 语句中使用赋值运算符,就像我们在其他几种语言中使用的那样. 就是 int a;如果(a = 1){} 会出现编译错误. 但是下面的代码工作正常,如何? 布尔值 b;if(b = true) { } 编辑:这是规则的例外,不能在 if 语句中使用赋值. 解决方案 因为赋值的“结果"就是赋值的值...所以在第二种情况下它仍然是一个 ..
发布时间:2021-12-31 22:44:01 Java开发

什么是“连接字符"?在 Java 标识符中?

我正在为 SCJP 阅读,我对此行有疑问: 标识符必须以字母、货币字符 ($) 或连接字符,例如下划线 (_).标识符不能以数字开头! 它指出有效的标识符名称可以以连接字符例如下划线开头.我认为下划线是唯一有效的选项?还有哪些连接字符? 解决方案 这是连接字符的列表.这些是用于连接单词的字符. http://www.fileformat.info/info/unicode ..
发布时间:2021-12-26 13:30:28 Java开发

为什么我们在匿名内部类中使用 final 关键字?

我目前正在准备 S(O)CJP,与 Sierra &贝茨书. 关于内部类(本地方法或匿名方法),他们说我们不能访问局部变量,因为它们存在于堆栈中,而类存在于堆中并且可以被方法返回,然后尝试访问到这些在堆栈上但由于方法结束而不再存在的变量... 众所周知,我们可以通过使用 final 关键字来绕过它.这就是他们在书中所说的,但他们并没有真正解释最后一个关键字的作用是什么......据我所 ..
发布时间:2021-12-22 22:12:59 Java开发

标识符与关键字

我在 OCJP for Java6 的书中阅读了带有断言的部分.我到达了它让我概述了如果将“assert"一词用作关键字或标识符时编译器如何反应的部分. Keyword 和 identifier 有什么区别?谁能给我一个简单的解释,另外还有一个或多个例子? 解决方案 术语“关键字"和“标识符"不是特定于 Java 的. 关键字是来自 Java 关键字列表 向编译器提供指令.由于 ..
发布时间:2021-11-30 11:43:17 Java开发

为什么 Double.NaN==Double.NaN 返回 false?

我刚刚在研究 OCPJP 问题,我发现了这个奇怪的代码: public static void main(String a[]) {System.out.println(Double.NaN==Double.NaN);System.out.println(Double.NaN!=Double.NaN);} 当我运行代码时,我得到: false真的 当我们比较两个看起来相同的东西时,输出 f ..
发布时间:2021-11-25 20:35:02 Java开发

SCJP6 正则表达式问题

我对以下示例有疑问: import java.util.regex.*;类正则表达式 2 {公共静态无效主(字符串 [] args){模式 p = Pattern.compile(args[0]);匹配器 m = p.matcher(args[1]);布尔 b = 假;while(b = m.find()) {System.out.print(m.start() + m.group());}}} ..
发布时间:2021-11-25 18:59:09 Java开发

为什么我不能添加两个字节并获得一个 int 而我可以添加两个最终字节获得一个字节?

公共类Java{公共静态无效主(字符串 [] args){最后一个字节 x = 1;最后一个字节 y = 2;字节 z = x + y;//okSystem.out.println(z);字节 a = 1;字节 b = 2;字节 c = a + b;//编译错误System.out.println(c);}} 如果涉及任何整数或更小的表达式的结果始终是整数,即使两个字节的总和适合一个字节. ..
发布时间:2021-11-25 18:52:53 Java开发

Java 类路径中的点 (.) 有什么作用?

这是来自“SCJP模拟考试"的示例问题: 给定默认类路径: /foo 还有这个目录结构: foo|测试|xcom|--A.class|--B.java 还有这两个文件: package xcom;公共类 A { }包 xcom;公共类 B 扩展 A { } 哪个允许B.java编译?(选择所有适用的选项.) A.将当前目录设置为 xcom 然后调用 javac B ..
发布时间:2021-11-22 16:48:58 Java开发

文字字符串创建与字符串对象创建

创建了多少个String对象 我正在为SCJP学习,我似乎无法解决这个String问题.根据我对问题的看法,我似乎看到了几种可能的答案. 在以下初始化中,创建了多少个字符串对象? 字符串s1 ="A" +"B" +"C" +"D";System.out.println(s1) 最初我以为5个对象,即 "A""B"“C""D"“A B C D" 但是后来我不确定,因为例如编译 ..
发布时间:2021-05-18 20:08:46 Java开发

带标签的SCJP

以下将由于“缺少标签z"而导致编译失败,但是如果我只是在o = o + 2之后将 z:移至下一个步骤,那行得通吗?这背后的逻辑是什么? public class Breaker { static String o = ""; public static void main(String[] args) { z: o = o + 2; for (int x = 3; x ..
发布时间:2020-07-06 06:44:02 Java开发

方法局部内部类不能使用方法内声明的变量

为什么局部于方法内部的类不能使用在封闭方法内部声明的变量,除了标记为final的那些变量外,我知道在内部类实例保持有效的同时,在封闭方法内部声明的变量可能会消失,但是当这个变量声明为最终变量? 解决方案 原因是它是在 使用但未在内部类中声明的任何局部变量,形式参数或异常参数必须声明为final. 还要注意,项目lambda(java 8)旨在引入java中的闭包(以替换匿名类),引 ..
发布时间:2020-07-06 06:43:58 Java开发

Java中原始整数类型的行为不一致

有人能像我五岁时一样向我解释为什么为什么用Java表示整数的四个原始类型中的两个会有不同的行为吗? AFAIK的全部四个都是带符号的,并且它们都使用最高有效位作为符号位,那么为什么字节和短整型的行为正常,而整型和长整型的行为又奇怪呢?解释这一点的oracle文档片段将是完美的. byte a = (byte) (Math.pow(2, 7)-1); //127 - as expected s ..
发布时间:2020-07-06 06:42:54 Java开发

具有最终访问修饰符的char和byte-Java

请看下面的示例,我无法理解字符和字节之间的关系 byte b = 1; char c = 2; c = b; // line 1 给我编译错误,因为c为char类型,b为byte类型,因此强制转换必须处于这种状态 但是现在这里的tweest是当我在代码下运行时 final byte b = 1; char c = 2; c = b; // line 2 第2行编译成功 ..
发布时间:2020-07-06 06:42:52 Java开发

带装箱/合并的Java方法重载

我正在Java Se 7 OCA上工作,无法弄清为什么以下代码无法编译. main方法中的aMethod调用给出了编译错误,指出了模棱两可的方法.在此重载方法示例中,加宽和装箱之间的优先顺序规则似乎冲突. public class Overloading { public static void main(String[] args) { Byte i = 5; byte k ..
发布时间:2020-07-06 06:41:50 Java开发