Tried to write a logic to check whether the given number is armstrong number or not. Here I need a help. Though the values are same it always prints false and as per the logic it says the numbers are not equal.
package src;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ArmStrongTest {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(isArmStrongNumber(153));// prints false;
    }
    private static boolean isArmStrongNumber(int nos) {
        List<Integer> digits = new ArrayList<Integer>();
        int itrNumbers = 0;
        while (nos > 0) {
            digits.add(nos % 10);
            nos /= 10;
        }
        Collections.reverse(digits);
        for (int i : digits) {
            itrNumbers += i * i * i;
        }
        System.out.println(java.util.Objects.equals(Integer.valueOf(itrNumbers), Integer.valueOf(nos)));// prints false;
        if (itrNumbers == nos ) { // both values are 153 but it says not equals
            return true;
        } else {
            return false;
        }
    }
}
How to solve this problem? Anything I missed in the code ? I am not able to figure out. I am getting false printed all the time. In such cases how to solve this problem?
 
    