Tag: primitive types

int和Integer之间的区别

int和Integer什么区别。 是的,一个是primitive ,另一个是wrapper ,正确使用它们的情况是什么。 还有什么区别: int i=0; ++i and i++

字符串成字符? (JAVA)

怎么会发生这种情况: char a = ‘\uffff’; //Highest value that char can take – 65535 byte b = (byte)a; //Casting a 16-bit value into 8-bit data type…! Isn’t data lost here? char c = (char)b; //Let’s get the value back int d = (int)c; System.out.println(d); //65535… how? 基本上,我看到一个char是16位。 因此,如果将其转换为byte ,为什么没有数据丢失? (转换为int后的值相同) 提前谢谢你回答我这个无知的问题。 :P 编辑:哇,发现我的原始输出实际上按预期执行,但我刚刚更新了上面的代码。 基本上,将一个字符强制转换为一个字节,然后将其强制转换为char,并保留其原始的2字节值。 这是怎么发生的?

将一个原始变量分配给另一个原始变量与另一个原始变量分配

我想了解原始和对象引用变量的行为方式有何不同。 我使用了Kathy Sierra的OCA / OCP Java SE7中的以下代码作为示例: public class VariableTesting { public static void main(String[] args) { int a = 10; System.out.println(“a= ” + a); int b = a; b = 30; System.out.println(“a= ” + a + ” after change it to b and b is ” + b); Dimension a1 = new Dimension(5, 10); […]

Java中的字符串和字符数组

我是一名刚从C ++转向Java的学生。 在Java中,为String和Char数组定义单独数据类型的主要原因是什么? 两者有什么区别? 由于我只学过C ++,到目前为止我的印象是它们是同一个东西。 请尽可能澄清。

未初始化的int与整数

我正在研究我的Java以准备考试,我遇到了一些未初始化的int / Integer值的问题。 class A { int x; Integer y; static int z; static Integer z2; public A(){} } 假设我初始化了A类的对象.A a = new A(); 我在编译器中尝试了这个并获得了结果 ax == 0; true ax == null; Static Error: Bad type in comparison expression ay == 0; java.lang.NullPointerException ay == null; true az == 0; true az == null; Static […]

为什么Java包装类是不可变的?

我知道适用于一般不可变类的通常原因,即 不能改变作为副作用 很容易理解他们的状态 固有的线程安全 无需提供克隆/复制构造函数/工厂复制方法 实例缓存 不需要防御性副本。 但是,包装类表示基本类型,基本类型是可变的。 那么为什么封装类不可变?

更改布尔值?

我对Java中的布尔值有疑问。 假设我有一个这样的程序: boolean test = false; … foo(test) foo2(test) foo(Boolean test){ test = true; } foo2(Boolean test){ if(test) //Doesn’t go in here } 我注意到在foo2中,布尔测试不会改变,因此不会进入if语句。 那我怎么去换呢? 我查看了布尔值,但我找不到一个将测试从“设置”为true的函数。 如果有人能帮助我,这将是伟大的。

Java Vector或ArrayList for Primitives

Java API中是否有一个可扩展的数组类,它等同于Vector或ArrayList类,可以与原语(int,char,double等)一起使用? 我需要一个快速,可扩展的整数数组,并且将它们包装在Integer类中以便将它们与Vector或ArrayList一起使用似乎很浪费。 我的google-fu让我失望了。

Java – 简短和铸造

我有以下代码片段。 public static void main(String[] args) { short a = 4; short b = 5; short c = 5 + 4; short d = a; short e = a + b; // does not compile (expression treated as int) short z = 32767; short z_ = 32768; // does not compile (out of range) test(a); […]

在java中比较double和int是否有效?

Utilities.getDistance(uni, enemyuni) <= uni.getAttackRange() Utilities.getDistance返回double,getAttackRange返回int。 上面的代码是if语句的一部分,它必须是true。 那么比较有效吗? 谢谢