Tag: ocpjp

Java中垃圾收集的合格变量

我正在为OCPJP做准备,我被困在以下模拟考试题目中: 鉴于: 3. interface Animal { void makeNoise(); } 4. class Horse implements Animal { 5. Long weight = 1200L; 6. public void makeNoise() { System.out.println(“whinny”); } 7. } 8. public class Icelandic extends Horse { 9. public void makeNoise() { System.out.println(“vinny”); } 10. public static void main(String[] args) { 11. Icelandic i1 = new […]

java.util.Arrays.asList与removeIf一起使用时抛出UnsupportedOperationException

我准备接下来的2个月进行OCPJP 8考试,目前我已经引起了我的注意,因为我不明白为什么 public class BiPredicateTest { public static void main(String[] args) { BiPredicate<List, Integer> containsInt = List::contains; List ints = java.util.Arrays.asList(1,20,20); ints.add(1); ints.add(20); ints.add(20); System.out.println(containsInt.test(ints, 20)); BiConsumer<List, Integer> listInt = BiPredicateTest::consumeMe; listInt.accept(ints, 15); } public static void consumeMe(List ints, int num) { ints.removeIf(i -> i>num); ints.forEach(System.out::println); } } 这显然是编译好的! 但是当你运行它时,你会看到这样的exception C:\Users\user\Documents>javac BiPredicateTest.java C:\Users\user\Documents>java BiPredicateTest true […]

当提供正则表达式时,Java中的String.split()方法究竟是如何工作的?

我正在准备OCPJP考试,我遇到了以下示例: class Test { public static void main(String args[]) { String test = “I am preparing for OCPJP”; String[] tokens = test.split(“\\S”); System.out.println(tokens.length); } } 这段代码打印16.我期待像no_of_characters + 1这样的东西。有人可以解释一下,split()方法在这种情况下实际上做了什么? 我只是不明白……

关于覆盖变量的地方有轻微的混淆

我正在为SCJP做准备(最近由甲骨文重新命名为OCPJP),我在模拟考试中遇到的一个特殊问题让我感到困惑,答案描述并没有解释清楚的事情。 这是一个问题: class A { int x = 5; } class B extends A { int x = 6; } public class CovariantTest { public A getObject() { return new A(); } public static void main(String[]args) { CovariantTest c1 = new SubCovariantTest(); System.out.println(c1.getObject().x); } } class SubCovariantTest extends CovariantTest { public B getObject() { return […]