通过对象属性获取Long类型数据t,与常量Long类型比较时,
应判断t是否为空
第二次的坑(最近的一次)
public class LongCompareStringTest {
public static void main(String[] args) {
Long data = 0l;
System.out.println(data.toString());
/*if ("0".equals(data)) { // 得到false1
System.out.println("true1");
} else {
System.out.println("false1");
}
if (0l == data) { // 得到true2
System.out.println("true2");
} else {
System.out.println("false2");
}*/
Long t = null;
// 抛异常================================================
if (0l == t) {
System.out.println("00");
}
}
}
半年前的坑见<java条件表达式陷阱>
public class LongCompareStringTest {
public static void main(String[] args) {
Long data = 0l;
System.out.println(data.toString());
/*if ("0".equals(data)) { // 得到false1
System.out.println("true1");
} else {
System.out.println("false1");
}
if (0l == data) { // 得到true2
System.out.println("true2");
} else {
System.out.println("false2");
}*/
/*Long t = null;
if (0l == t) {
System.out.println("00");
}*/
boolean flag = true;
Long t = null;
// 抛异常================================================
Long tt = flag ? t : 0l;
System.out.println(tt);
}
}
这段代码编译后再反编译如下:
import java.io.PrintStream;
public class LongCompareStringTest
{
public static void main(String[] args)
{
Long data = Long.valueOf(0L);
System.out.println(data.toString());
boolean flag = true;
Long t = null;
Long tt = Long.valueOf(flag ? t.longValue() : 0L);
System.out.println(tt);
}
}
分享到:
相关推荐
参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定赋给当前定义字体的编号,有效值在1到8之间 facename:string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”height:...
Redefinition of ''xxx'' is not identical ------------------- xxx的两次定义不一致 Register allocation failure ------------------寄存器定址失败 Repeat count needs an lvalue ------------------重复计数...
- 位与后赋值(&=) - 位或后赋值(|=) 二、变量(Variables) 2.1 常量 - HIGH、LOW:描述数字引脚的高低电平。 - INPUT、OUTPUT、INPUT_PULLUP:描述数字引脚的模式。 - true、false:布尔型常量。 2.2 数据...
- 整型:包括byte(1字节,-128到127),short(2字节,-32,768到32,767),int(4字节,-2^31到2^31-1),以及long(8字节,-2^63到2^63-1)。整型可以使用十进制、八进制或十六进制表示。例如,`int a = 23;`,`...
--与66题的写法是一样的,但是不推荐使用using : 假设条件太多 --------------------------------------/非等值连接------------------------------------------/ 68、select ename,grade from emp e join ...
### PL-SQL用户指南与参考(译) #### 第一章:PL/SQL一览 ##### 一、理解PL/SQL的主要特性 **1、块结构** PL/SQL使用块结构来组织程序,每个块可以独立运行,也可以组合在一起形成更复杂的程序结构。一个基本的...
- C语言中有多种整型数据类型,如`short int`、`int`、`long int`等。 - 这些类型默认是有符号的,即可以存储负数。 - **2.2 无符号整型** - 类似于有符号整型,但不存储负数,因此可以存储更大的非负数值。 - **...
STRING 数据类型是 128 个字符长度,类似一般程序设计语言中的字符串变量,用于记录一些有特定含义的字符串,如名称、密码等,该类型变量可以进行比较运算和赋值运算。 在组态王系统中,变量可以分为内存变量和 I/O...
Java中的运算符包括算术运算符(如加减乘除)、比较运算符(如等于、不等于)、逻辑运算符(如与、或、非)以及赋值运算符(如 `=`、`+=` 等)。理解并熟练运用这些运算符是编写高效代码的关键。 在编程实践中,...
在Java编程语言中,原生数据类型(primitive data type)是程序设计的基础,包括了byte、short、int、long、float、double、char以及boolean这八种。它们各自有不同的存储大小和取值范围,每种类型都有其特定的用途...
在Scala中,整型字面值默认为`Int`类型,但可以通过附加后缀来指定其他类型,如`L`表示`Long`类型。 - **1.3.2 浮点型字面值** - 浮点型字面值用来表示带有小数部分的数值。默认类型为`Double`,但可以通过附加`f`...
- 这些类型在与`int`类型进行运算时会自动转换为`int`类型。 #### 运算符和表达式 - **1.7 运算符和表达式** - **1.7.1 使用%运算符** - `%`运算符用于求余数。 - **1.7.2 使用“++”和“--”运算符** - 这些...
- 自动类型提升,例如int类型赋值给double类型。 - 强制类型转换,使用强制类型转换运算符进行显式转换。 3. 流程控制语句: - if-else条件语句用于基于条件执行不同的代码块。 - for循环用于执行重复的代码块...
- **整型**:int、short、long等不同类型。 - **浮点型**:float、double等类型。 - **类型转换**:在不同数据类型之间转换。 - **Integer Promotion**:某些情况下自动提升较小的整数类型到int。 - **Usual ...
2. **类型大小**:目标类型必须至少与源类型一样大。例如,`double` 类型可以接收 `int` 类型的数据,因为 `double` 类型的容量更大,反之则不行。 通过以上内容,我们可以看出Java在处理数据类型方面有着严格的...
Java是一种广泛使用的面向对象的编程语言,其语法和特性与C++和C#有诸多相似之处,但在数据类型和流程控制结构上具有自己的特点。在实验3“Java的基本数据类型和流程控制结构”中,我们将深入理解这些核心概念。 1....
- 数值类型(`sbyte`, `short`, `int`, `long`, `byte`, `ushort`, `uint`, `ulong`)覆盖了从8位到64位的有符号和无符号整数范围。 - 浮点类型(`float`, `double`, `decimal`)提供不同程度的精度,其中`decimal`...