Tag: 原始

VisualVM OQL:如何搜索原始浮点值而不是实际的浮点数实例?

我想知道如何搜索匹配特定数字的所有原始浮点值。 在做类似的事情时: select n from java.lang.Float n where n.value == 1.00 只找到Float类实例。 我正在探索的应用程序使用的不同包装器不仅仅是Float(例如,Vectors),它使用原始浮点值作为我需要搜索的字段。 我怎么做到这一点? 以下返回“找不到浮动错误”: select n from float n where n.value == 1.00

char和具有最终访问修饰符的字节 – java

请看下面的示例我无法理解char和byte之间的关系 byte b = 1; char c = 2; c = b; // line 1 给我编译错误,因为c是char类型,b是byte类型,所以在这种情况下必须强制转换 但现在这里的推文是我在代码下运行的时候 final byte b = 1; char c = 2; c = b; // line 2 第2行编译成功它根本不需要任何转换所以我的问题是为什么当我使用带有byte最终访问修饰符时, char c表现不同

Java映射和基元

我想创建一个映射,它将String作为键,将基元作为值。 我正在查看Java文档,并没有看到Primitive是一个类类型,或者他们共享某种包装类。 如何将值约束为原语? Map map = new HashMap();

将表达式的结果分配给基元

K.Sierra在她的书“SCJP学习指南”中提到“我们知道一个文字整数总是一个整数,但更重要的是,一个涉及任何大小或更小的表达式的结果总是一个整数。” 我已经开始尝试了,我对以下结果有点困惑: byte a = 1; // correct byte b = 1 + a; // incorrect (needs explicit casting) byte c = 1 + 1; // correct (I expected it to be incorrect) 任何人都可以向我解释为什么最后一个例子不需要投射? 为什么Java编译器会进行隐式转换? 是因为有2个文字? 澄清非常感谢。

在知道类时创建(盒装)原始实例

我需要一个方法来返回提供的类类型的实例。 假设所提供的类型被限制为可以创建它们的“空”实例。 例如,提供String.class将返回一个空String,提供Integer.class将返回一个初始值为零的Integer,依此类推。 但是我如何动态创建(盒装)原始类型? 像这样? public Object newInstance(Class type) { if (!type.isPrimitive()) { return type.newInstance(); // plus appropriate exception handling } else { // Now what? if (type.equals(Integer.class) || type.equals(int.class)) { return new Integer(0); } if (type.equals(Long.class) // etc…. } } 迭代所有可能的原始类型的唯一解决方案,还是有更简单的解决方案? 请注意两者 int.class.newInstance() 和 Integer.class.newInstance() 抛出InstantiationException (因为它们没有nullary构造函数)。

在C中更改变量的值时,是创建了一个新原语还是当前原语是变异的?

我知道’mutable’和’immutable’是应该用来描述对象改变面向对象语言(如Java和Objective C)中的值的能力的术语。但是,我想提出它,因为它与我有关关于原始数据的问题。 我知道当我更改包含不可变对象的变量的值时,我实际上正在创建一个新对象。 但是,我想知道C中的原语数据是否与不可变对象类似。 我的意思是,当我更改保存原始数据的变量的值时,会创建一个新数据并由变量引用。 或者现有的原语实际上是否突变/修改了存储的数据值? 编辑#1: 问题#1:我想澄清一些误解(无论是我还是其他人),因为当我说“当我改变一个包含不可变对象的变量的值时我没有说清楚”,我实际创建了一个新对象。“ 当我这样说时,我并不是要将变量赋给现有对象。 例如: // Example 1: I did not mean this ————————- String x = “Hello World”; String y = x; ————————- // Example 2: What I meant is this ————————- String x = “Hello World”; //This will print out “Hello World” System.out.println(x); x = “Goodbye World”; //This […]

如何在Java中使用double转换为int

我是Java的新手,想知道如何对int转换工作? 我理解通过采用低32位来实现long很简单,但是对于int(32位)来说,加倍(64位)呢? 来自二进制二进制的64位是双精度浮点格式(尾数),那么它如何在内部转换为int?

如何使用Jersey REST序列化Java基元

在我的应用程序中,我使用Jersey REST来序列化复杂对象。 这很好用。 但是有一些方法只返回一个int或boolean。 泽西岛无法处理原始类型(据我所知),可能是因为它们没有注释,而泽西没有默认注释。 我通过创建像RestBoolean或RestInteger这样的复杂类型来解决这个问题,它只包含一个int或boolean值并具有相应的注释。 有没有比编写这些容器对象更简单的方法?

原始数组类型上的Java Arrays.asList产生意外的List类型

可能重复: Arrays.asList()不能正常工作? 显然是Arrays.asList(new int[] { 1, 2, 3 });的返回类型Arrays.asList(new int[] { 1, 2, 3 }); 是List 。 这似乎完全打破了我。 这是否与Java有关,而不是原始类型的自动装箱arrays?