Java将2个整数与equals或==进行比较?

我是非常非常新的Java,我想知道如何比较2个整数? 我知道==完成工作……但是等于什么? 这可以比较2个整数吗? (当我说整数时,我的意思是“int”而非“整数”)。 我的代码是:

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不能被解除引用”为什么?

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。 类型和价值的种类说(部分)

Java编程语言中有两种类型:基本类型(第4.2节 )和引用类型(第4.3节 )。 相应地,有两种数据值可以存储在变量中,作为参数传递,由方法返回,并在以下操作:原始值( §4.2 )和参考值( §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"); } 
Interesting Posts