问题标签 [ocpjp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
212 浏览

java - 为什么列出新列表 = 新数组列表() 违反类型安全?

可能重复:
`List<Dog>` 是 `List<Animal>` 的子类吗?为什么 Java 的泛型不是隐式多态的?

我已经声明了这些类:

和:

但是当我尝试编译这些Java源代码时,出现了这个编译错误:

我的问题是:为什么不可能进行这种转换?是否违反了类型安全规则?或者?

提前感谢您的回复。

0 投票
4 回答
5665 浏览

java - Java SneakyThrow of exceptions,类型擦除

有人可以解释这段代码吗?

这可能看起来很奇怪,但这不会产生强制转换异常,并且允许抛出已检查的异常而无需在签名中声明它,或者将其包装在未检查的异常中。

请注意,无论是sneakyThrow(...)或 main 都没有声明任何已检查的异常,但输出是:

这个 hack 在 Lombok 中使用,带有注解 @SneakyThrow,它允许在不声明的情况下抛出已检查的异常。


我知道它与类型擦除有关,但我不确定是否理解黑客的每个部分。


编辑: 我知道我们可以Integer在 a中插入一个List<String>检查/未检查异常的区别是编译时功能。

当从非泛型类型List转换为泛型类型List<XXX>时,编译器会产生警告。(T) ex但是像上面的代码那样直接转换为泛型类型不太常见。

如果您愿意,对我来说似乎很奇怪的部分是,我理解在 JVM 内部 aList<Dog>List<Cat>看起来一样,但上面的代码似乎意味着最终我们也可以将 Cat 类型的值赋给 Dog 类型的变量或类似的东西。

0 投票
2 回答
1669 浏览

java - OCPJP 考试中是否应该存在棘手的问题?

当我练习参加 OCJP 考试时,我发现我想练习的问题通常是欺骗性的问题,试图欺骗我回答错误。该示例来自 Bathes / Sierra 书中,一个典型的技巧问题是:

在此处输入图像描述

现在我想知道您是否可以告诉我,真实考试中的问题是否也经常是这样的技巧题,或者实际考试是否有另一种风格,或者这是否接近我的预期?

0 投票
1 回答
110 浏览

java - FileSystem vs FileSystems 它们之间有什么关系?(爪哇)

这2类之间有什么关系?更详细地说,如何在 FileSystem 类中使用 getPathMatcher 方法?任何人都可以在这两个类之间给我一些清晰的信息吗?确实提前感谢。

0 投票
1 回答
238 浏览

java - 带扩展名的 ResourceBundle 完全限定名称

摘自本书《Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805: A Comprehensive OCPJP 7》

完全限定的资源包具有以下形式:
packagequalifier.bundlename + " " + language + " " + country + " " + (variant + " #" | "#") + script + "-" + extensions

但是我不能将连字符放在类名中......也许这是一个错误,他们想再放一个下划线?或者我对扩展有什么遗漏?据我所知,连字符用于分隔某个类别的子键值对。例如“ca-buddhist”。带有 unicode 扩展名“u”“ca-buddhist”的 ResourceBundle 的完全限定名称是什么?

提前致谢。

0 投票
5 回答
1057 浏览

java - AtomicLongFieldUpdate 类的实际使用和解释

有人知道AtomicLongFieldUpdate类在现实生活中的任何用途吗?我已经阅读了描述,但我并没有完全理解它的含义。为什么我想知道这个?好奇心和 OCPJP 准备。

提前致谢。

0 投票
2 回答
36978 浏览

java - java.sql.SQLException:找不到合适的驱动程序

我正在尝试使用下面的 DbQuery.java 类执行简单查询,该类使用 DbConnector 从 DriverManager 获取连接。

注意

  1. 我已经通过以下方式在我的类路径中包含了“mysql-connector-java-5.1.25-bin.jar”:export CLASSPATH=$CLASSPATH:/home/me/ocpjp/chapter-10/mysql-connector-java-5.1.25 /mysql-connector-java-5.1.25-bin.jar
  2. 如果重要的话,我可以使用“mysql -uroot -ptcial addressBook”连接到 mysql。
  3. 也尝试使用“-cp”参数运行,但无济于事。
  4. 我可以让我的#3 DbConnect.java 类说“已建立数据库连接”。
  5. 此外#4 DbQueryWorking.java 没有问题并提供预期的输出。

你能帮我理解这里有什么问题吗?

1) DbConnector.java

2) DbQuery.java

3) DbConnect.java

4) DbQueryWorking.java

0 投票
7 回答
411 浏览

java - 有人可以解释一下这种多态性的输出吗?

继承人的代码:

这是输出:

Data1=20 的输出应该是 10 ,而不是 20 ......但我想我在这里遗漏了一些东西。请在这件事上给予我帮助

好的,感谢您的帮助,但有一个新疑问:如果我将主要方法更改为:

你去吧。

0 投票
2 回答
3479 浏览

java - Can anybody please help me with this polymorphic reference variable explanation?

Heres the code :

Please explain A a=new B(); and what variables and methods are accessible by a ? this technique is called polymorphic reference right, but how does it work under influence of inheritance ?

0 投票
3 回答
273 浏览

java - java编程中的内聚查询

您将如何定义以下代码?

a) 高凝聚力

b) 低凝聚力

我会说高,因为takeAndGlue()即使用 2 种单独的方法调用 2 件事,它们stackTrace也是可追溯的。