Java 用等号或 == 比较 2 个整数?
Java Compare 2 integers with equals or ==?
我对 Java 非常陌生,我想知道如何比较 2 个整数?我知道 == 完成了工作..但是等于呢?这可以比较 2 个整数吗? (当我说整数时,我的意思是 "int" 而不是 "Integer")。
我的代码是:
import java.lang.*;
import java.util.Scanner;
//i read 2 integers the first_int and second_int
//Code above
if(first_int.equals(second_int)){
//do smth
}
//Other Code
但由于某种原因这不起作用..我的意思是 Netbeans 给我一个错误:"int cannot be dereferenced" 为什么?
int
是原语。您可以像
这样使用包装器 Integer
Integer first_int = 1;
Integer second_int = 1;
if(first_int.equals(second_int)){ // <-- Integer is a wrapper.
或者你可以按值比较(因为它是原始类型),比如
int first_int = 1;
int second_int = 1;
if(first_int == second_int){ // <-- int is a primitive.
JLS-4.1. The Kinds of Types and Values 说(部分)
There are two kinds of types in the Java programming language: primitive types (§4.2) and reference types (§4.3). There are, correspondingly, two kinds of data values that can be stored in variables, passed as arguments, returned by methods, and operated on: primitive values (§4.2) and reference values (§4.3).
如果你想比较
1-two integer
If(5==5)
2- char
If('m'=='M')
3 string
String word="word"
word.equals("word")
由于 int 是原始类型,因此您不能使用 equals。
你可以做什么
使用 Interger 作为包装器
void IntEquals(Integer original, Integer reverse) {
Integer origianlNumber = original;
Integer reverseNumber = reverse;
if (origianlNumber.equals(reverse)) {
System.out.println("Equals ");
} else {
System.out.println("Not Equal");
}
int 是原始的 type.This 本身具有值,但 Integer 是对象并且它内部具有原始 int 类型来保存值。
您可以通过使用包装器 Integer 执行更多操作,例如比较、longValue、..more。
== 表示整数 will not work the rang above -128 and 127
。整数仅在内存中保留此范围内的缓存值。超过这个范围你必须使用 equals() 方法来检查 Integer wrapper class。
equals() 方法将检查存储在引用位置的值。
我对 Java 非常陌生,我想知道如何比较 2 个整数?我知道 == 完成了工作..但是等于呢?这可以比较 2 个整数吗? (当我说整数时,我的意思是 "int" 而不是 "Integer")。 我的代码是:
import java.lang.*;
import java.util.Scanner;
//i read 2 integers the first_int and second_int
//Code above
if(first_int.equals(second_int)){
//do smth
}
//Other Code
但由于某种原因这不起作用..我的意思是 Netbeans 给我一个错误:"int cannot be dereferenced" 为什么?
int
是原语。您可以像
Integer
Integer first_int = 1;
Integer second_int = 1;
if(first_int.equals(second_int)){ // <-- Integer is a wrapper.
或者你可以按值比较(因为它是原始类型),比如
int first_int = 1;
int second_int = 1;
if(first_int == second_int){ // <-- int is a primitive.
JLS-4.1. The Kinds of Types and Values 说(部分)
There are two kinds of types in the Java programming language: primitive types (§4.2) and reference types (§4.3). There are, correspondingly, two kinds of data values that can be stored in variables, passed as arguments, returned by methods, and operated on: primitive values (§4.2) and reference values (§4.3).
如果你想比较
1-two integer
If(5==5)
2- char
If('m'=='M')
3 string
String word="word"
word.equals("word")
由于 int 是原始类型,因此您不能使用 equals。 你可以做什么 使用 Interger 作为包装器
void IntEquals(Integer original, Integer reverse) {
Integer origianlNumber = original;
Integer reverseNumber = reverse;
if (origianlNumber.equals(reverse)) {
System.out.println("Equals ");
} else {
System.out.println("Not Equal");
}
int 是原始的 type.This 本身具有值,但 Integer 是对象并且它内部具有原始 int 类型来保存值。 您可以通过使用包装器 Integer 执行更多操作,例如比较、longValue、..more。
== 表示整数 will not work the rang above -128 and 127
。整数仅在内存中保留此范围内的缓存值。超过这个范围你必须使用 equals() 方法来检查 Integer wrapper class。
equals() 方法将检查存储在引用位置的值。