ICode9

精准搜索请尝试: 精确搜索
  • Java 自动装箱与拆箱(Autoboxing and unboxing)2021-07-08 16:55:50

    什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。  一般我们要创建一个类的对象实例的时候,我们会这样:  Class a = new Class(parameter);  当我们创建一个Integer对象时,却可以这样:  Integer i = 100; (注意:不是 int i =

  • Oracle Java教程-有关字符自动装箱Java注释的可能错误2019-10-12 03:01:38

    这个问题已经在这里有了答案:            >            Does autoboxing call valueOf()?                                    4个 我是JAVA的新手,目前正在学习Oracle教程泛型部分.我认为那里有一个错误,我想确保我

  • 在Java中应该避免自动装箱吗?2019-10-10 13:04:31

    在某些情况下,方法期望原始类型为double,而您将Double对象作为参数传递. 由于编译器将打开的对象拆箱,这会增加内存使用率还是降低性能?解决方法:这是Java Notes在autoboxing上所说的: Prefer primitive types Use the primitive types where there is no need for objects for two

  • java – 数字文字的自动装箱:包装器初始化与传递方法参数不一致2019-10-01 23:00:38

    请考虑2个案例: //1 Short s = 10; //obviously compiles //2 takeShort(10); //error - int is not applicable //where: static void takeShort(Short s) {} 我假设情况1被编译器更改为: short _temp_s = 10; Short s = Short.valueOf(_temp_s); 你能否解释一下编译器在

  • java – 比较已装箱的长值127和1282019-09-17 16:59:38

    我想使用if条件比较两个Long对象值.当这些值小于128时,if条件正常工作,但当它们大于或等于128时,比较失败. 例: Long num1 = 127; Long num2 = 127; if (num1 == num2) { // Works ok } 上面的代码比较正常,但在下面的代码中失败: Long num1 = 128; Long num2 = 128; if (nu

  • java – 将null返回为int三元运算符允许的int,而不是if语句2019-09-11 10:01:47

    让我们看看以下代码段中的简单Java代码: public class Main { private int temp() { return true ? null : 0; // No compiler error - the compiler allows a return value of null // in a method signature that returns an int. } priva

  • java – Boxing to Object类型以避免编译失败2019-09-01 03:11:20

    参见英文答案 > Why doesn’t autoboxing overrule varargs when using method overloading in Java 7?                                    3个 请考虑以下代码 public class Foo { int value; public Foo (final String str, Object

  • java – 这是通用的自动装箱吗?2019-08-27 11:04:27

    分配值而不使用通常的表示法,例如“this.< Double> getAnything(int flag)” private <T> T getAnything(int flag) { Object o = null; if (flag==0) o=new String("NewString"); else if (flag==1) o=new Double(0D); return (T)o; }

  • java – 原始流vs对象流和发生的实际装箱2019-07-27 17:01:11

    所以我理解你可以有对象流,即Stream< T>.和专家原始流,例如IntStream,DoubleStream等.后者的一个好处是避免自动装箱. 此外,如果我们以IntStream为例,它具有专门的操作,例如接受IntPredicate的过滤器. 我想知道我是否有一个IntStream与一个流< Integer>在这一点上,你节省了拳击,例

  • java – Autoboxing – 这两行之间的区别?2019-07-25 12:00:11

    我想知道这两者之间的区别: Integer I = 30; // is it autoboxing? Integer I = new Integer(30); // I know it is autoboxing 解决方法:它们是有区别的.第一个将被视为 Integer I = Integer.valueOf(30); // autoboxing 它将使用已存储在内部缓存中的Integer对象(当自动装

  • 为什么在Java中从List中删除原始类型时没有Autoboxing?2019-07-17 08:04:10

    我有以下代码抛出IndexOutOfBoundsException异常: List<Character> list = new ArrayList<>(); char c = 'a'; list.add(c); list.remove(c); // gets fixed by passing list.remove((Character)c); 我知道发生这种情况是因为在移除时不会发生AutoBoxing,而在添加元素时会发

  • java – 盒装布尔值的等价2019-07-16 08:59:52

    快速提问:是否保证此代码始终显示为真? Boolean b1 = true; Boolean b2 = true; System.out.println(b1 == b2); 拳击布尔似乎总是导致相同的布尔对象,但我找不到太多关于JLS中的盒装布尔相等的信息.相反,它甚至似乎暗示拳击应该创建新对象,甚至可能导致OOM异常. 你的想法是什么?解

  • java – 取消装箱问题2019-07-15 22:03:19

    我有一个扩展LinkedList类的类. 这是代码的摘录: class SortedList<Integer> extends LinkedList<Integer> { int intMethod(Integer integerObject){ return integerObject; } } 这应该返回自动取消装箱的int值.但由于某种原因,编译器抛出一个错误,指出类

  • Java =运算符2019-07-14 07:03:15

    Integer n = 5; System.out.println(n) // 5! 我怎样才能在我的课程中重现这种行为?解决方法:你不能.这称为Autoboxing,它是Java中某些类的一个特殊功能,可以简化处理表示原始类型(如int)的类.

  • java – Integer.valueOf()的值2019-07-12 17:00:25

    是否有任何理由使用Integer.valueOf(X)初始化最终的Integer,如下所示: public class MyClass { public static final Integer DAY_1 = Integer.valueOf(1); // Why do it this way? public static final Integer DAY_2 = 2; // When it can be done this way? } 我知道在添加

  • 在C#中调用值类型的方法时是否隐式完成了装箱?2019-07-06 11:06:26

    参见英文答案 > Boxing and unboxing: when does it come up?                                    7个 让我们说我做这样的事情: int x = 5; String s = x.ToString(); 来自Java,我会被认为正在对int值进行自动装箱,使其表现得像一个对象并

  • 在Java中选择具有多个参数的重载方法的规则2019-07-03 15:49:12

    我知道在Java中重载规则,但在某些情况下我的直觉不起作用. 我们来看一个例子: public class Overloading { public static void main(String[] args) { long primitive = 3; Long boxed = Long.valueOf(5); doWork(primitive, boxed); //1

  • Java反射和自动装箱2019-07-03 09:48:49

    我正在使用反射设置字段值,但是当我尝试将Short指定为short时,我得到错误,因为isAssignable()返回false. private void setFieldValue(Object result, Field curField, Object value) throws NoSuchFieldException, IllegalAccessException { if (!curField.getType().isAssig

  • 使用java中的基本类型的变量参数重载时的奇怪行为2019-07-01 20:47:57

    显然,我对过载,自动装箱和变量参数的工作方式知之甚少. 因此,只要有原始类型的参与,这个程序就会导致麻烦. public static void z(int a, Object...objects){ } public static void z(Object...objects){ } public static void main(String[] args) { z(); // no error

  • java – arraylist与数组中原始类型的包装器2019-05-31 10:58:13

    在“核心java 1”我读过 CAUTION: An ArrayList is far less efficient than an int[] array because each value is separately wrapped inside an object. You would only want to use this construct for small collections when programmer convenience is more

  • 为什么Java autobox int for Integer for .equals(Object)方法?2019-05-28 18:51:23

    我正在研究一些java类,并且重写了.equals(Object)方法来测试我的类的整数变量,并且当它发出错误说我无法使用原始类型int时,我很惊讶,当我确定它说在java docs中,编译器会自动将autobox基本类型转换为方法的包装类型. public boolean equals(Object o) { if (!(o instanceof m

  • java – 整数与int比较2019-05-28 07:48:52

    我是java的新手.我现在正在学习java中的非原始Integer类型.我知道以下比较无效并抛出编译错误 – String str = "c"; Char chr = 'c'; if(str == chr) return true; 上面的代码片段给了我 – “Test.java:lineNumber:无法比较的类型:java.lang.String和char”错误. 但是我发现下面

  • java – autobox原始文字是否有性能成本?2019-05-23 09:00:39

    说我有以下代码: Map<String, Boolean> map = ... map.put("foo", true); 从理论上讲,true必须自动装箱,与插入Boolean.TRUE相比,会导致轻微的性能损失.但是由于我们正在处理一个文字值,编译器是否有可能用一个盒装文字替换原始文字,因此没有额外的运行时开销? 在任何人攻击我之前,

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有