问题标签 [scjp]

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 投票
5 回答
336 浏览

java - 自Java5 +菱形运算符以来初始化通用集合的方法

据我所知,泛型仅在编译时有用。

因此可以声明:

然后,在这个字符串哈希集中,将狗或任何东西添加到该集合中,没有任何问题,因为在运行时没有像数组 (ArrayStoreException...) 那样的任何检查(但是当你使用它时,你可能会遇到类转换之类的问题放...

所以我想说的是,我们通常这样实例化泛型集合:

我的问题是,为什么我们要放置 HashSet 的类型,因为只有变量引用的类型才是真正重要的(我认为)。

我的意思是,我们可以简单地写:

它的工作原理完全相同吗?那么为什么我们通常在实例化的时候写类型呢?(这不是强制性的)


编辑

我知道用于类型推断的“钻石运算符”,但为什么我们甚至需要它!!!因为类型推断已经开始工作了!

以下代码:

产生输出:

测试添加字符串 1 测试添加字符串 2

自己测试 http://ideone.com/vuiCE

因此,现在您将类型推断作为 Java7 的一项功能进行讨论,但它已经对我有用了……

使用 java7 我将不得不更换我的

经过

做完全相同的事情仍然需要 2 个额外的字符,不是吗?(除非泛型不仅是 Java7 的编译时间?我不知道)

0 投票
3 回答
4993 浏览

java - Java中的运算符优先级

http://leepoint.net/notes-java/data/expressions/precedence.html的一个例子中

下面的表达式

被评估为

然后我从http://www.roseindia.net/java/master-java/operator-precedence.shtml看到了另一个例子

下面的表达式

被评估为

我对如何决定在涉及 * 和 / 时首先评估哪个感到有些困惑。在上面的示例中,两者似乎有所不同。

第一个示例正在评估3*5/5((3*4)/5) 而第二个示例正在评估5*6/3 as (5*(6/3))

我知道 * 和 / 优先于 + 和 - 但是当表达式同时包含 * 和 / 时呢?还有为什么上面两个例子显示了不同的方法?其中一个是错的吗?

编辑

上面的程序产生输出

如果第一个产生相同的输出,为什么最后两个输出不一样。

0 投票
3 回答
1258 浏览

java - 调用构造函数后从 main 调用私有包方法

我正在学习SCJP,在学习的过程中发现了一个一开始看起来很简单的练习,但是我没有解决它,我不明白答案。该练习(取自OCP Java SE 6 Programmer Practice Exams、Bert Bates 和 Kathy Sierra)说明如下:

鉴于:

答案是:

我的猜测是 C,因为 doStuff 方法在 MyPancake 类中,所以 main 方法应该可以访问它。

重新考虑这个问题,当从静态上下文调用 new 时,如果 doStuff 是私有的,它可能无法访问私有方法。这是真的?我不确定。

但无论如何,我仍然认为它可以访问包私有的 doStuff 方法。我想我错了,但我不知道为什么。

你可以帮帮我吗?

谢谢!

0 投票
3 回答
1741 浏览

java - 自 oracle 接管以来,sun SCJP/SCJA/SCEA 轨道有哪些变化?

上下文:

似乎简单的 scjp ->scja->.... 用于 sun 认证的轨道已与其他 oracle 样式认证合并...作为开发人员,我最近花了一些时间试图找出新的“途径”用于认证。

现有资源:

这里有一个非常密集但信息丰富的页面:http ://en.wikipedia.org/wiki/Sun_Certified_Professional 当然,Oracle 网站也充满了不同认证事实的链接和图表。

我的问题:

尚不清楚是否有新的 Java 认证范式或途径正在出现,因此旧的 SCJP 风格的认证是否仍然存在(尽管名称不同),也不清楚整个认证管道的样子:例如,此图(来自较早的 sun 认证)http://www.whizlabs.com/images/jwhiz.png以清晰易懂的图表清楚地关联了无数的认证和培训计划。但是我没有看到任何此类资源来解释和比较现代 Oracle Java 认证。

问题:

新的 Oracle 认证之间有什么关系?它们与最初的 SCJP、SCJD 和 SCEA 考试有何关系?

0 投票
2 回答
172 浏览

java - 对实例变量的初始化感到困惑

我正在为 SCJP 考试做准备,在做一些模拟测试时,我遇到了这个:

它询问以下内容的输出:

我认为它会是21 20,因为 ti 会调用 getInt,然后将 k 递增到 21。

然而,答案是1 20。我不明白为什么会是1,有人可以对此有所了解吗?

0 投票
3 回答
137 浏览

java - 由方法创建的字符串对象

我正在为我的 Oracle Certified Java Programmer 认证做一些模拟测试。我在测试中发现的问题之一是:

问题是“调用此方法时将创建多少个 String 对象?”。我数的是 5:“Fred”、“47”、“Fred47”、子字符串“ed4”和大写字符串“ED4”,但问题答案是 3 个对象(并且测试所在的文档没有解释部分)。你能指出我的错误在哪里吗?

0 投票
3 回答
759 浏览

java - 对正则表达式贪婪运算符和终止字符的困惑

我正在准备 SCJP 考试,下面的模拟题让我措手不及。该工具中的解释不是很好,所以我希望SO的知识渊博的人能够解释它。

使用 的正则表达式C.*L,识别它将从中捕获的单词CooLooLCuuLooC

我选择了CooL and CuuL。我选择这个的原因是因为我相信它会寻找 C 的起始匹配,然后取任何字符零次或多次,直到找到一个L,然后终止。

然而,答案其实是CooLooLCuuL。我很困惑前 2 是如何L通过的?

谁能帮我解决这个问题?

谢谢

0 投票
4 回答
207 浏览

java - 异常和错误报告顺序

哪些规则适用于以下代码:

资产已启用。

为什么会报 IllegalArgumentException 而不是 AssertionError?是否有适用于这种情况的规则?

编辑: 对不起!在这个例子中应该有 assert ( false )

0 投票
5 回答
1054 浏览

java - 为什么这段代码不是线程安全的?

在下面的代码片段中,将 doThings() 方法声明为静态将使类成为线程安全的。这是因为如果启动了多个 TestSeven 线程并且由于 x 是静态变量,可能会发生竞争条件吗?

0 投票
5 回答
1089 浏览

java - S的返回类型是什么意思?