W Javie używamy wew I Liczba całkowita do przechowywania danych typu całkowitego. Pytanie, które się stąd pojawia, brzmi: jeśli oba są używane do przechowywania tego samego typu danych, to jaka jest różnica między nimi i dlaczego potrzebujemy ich obu? Zatem główna różnica między wew I Liczba całkowita polega na tym, że int jest typem danych pierwotnych, podczas gdy liczba całkowita jest typu klasowego. Podczas tworzenia aplikacji OOP int zachowuje się zgodnie z zasadą prymitywnego typu danych i zachowuje się jak klasa opakowania .
Przyjrzyjmy się szczegółom i zrozumiejmy inne ważne różnice między wew I Liczba całkowita .
Różnica między int a liczbą całkowitą
Pan Nie. | Czynnik | wew | Liczba całkowita |
---|---|---|---|
1. | Typ | Int to prymitywny typ danych, który może przechowywać 32-bitową liczbę całkowitą ze znakiem uzupełnienia do dwóch. | Integer to klasa otaczająca typ danych int, która zapewnia większą elastyczność w konwertowaniu, przechowywaniu i manipulowaniu danymi int. |
2. | Elastyczność | Int dopuszcza jedynie wartość binarną liczby całkowitej, przez co zapewnia mniejszą elastyczność. | Integer jest klasą otaczającą int i zapewnia większą elastyczność w porównaniu do int. |
3. | Zamiar | Służy tylko do jednego celu, tj. do przechowywania wartości całkowitej w pamięci. | Jego głównym celem jest konwersja inta na obiekt lub obiektu na int. |
4. | Wykorzystanie pamięci | Zapisanie w nim wartości całkowitej zajmuje 4 bajty. | Zapisanie w nim wartości całkowitej zajmuje 16 bajtów. |
5. | Konwersja podstawowa | Nie możemy przekonwertować wartości całkowitej int na inną bazę. | Klasa Integer udostępnia kilka przydatnych metod, takich jak toBinaryString(), toOctalString() i toHexString(), które pozwalają nam bezpośrednio konwertować wartość całkowitą przechowywaną w Integer. |
6. | Typ Casting | Nie możemy przekazać wartości dziesiętnej i łańcuchowej do zmiennej typu int. Casting również nie jest w tym przypadku obsługiwany. | Liczba całkowita udostępnia kilka sposobów przekazywania wartości dziesiętnej lub ciągu znaków do obiektu typu Integer. Integer(String) i parseInt(String) to dwa sposoby, dzięki którym możemy przekonwertować ciąg na wartość typu int. |
7. | Operacje | Operacje są niedozwolone z powodu nieużywania wbudowanych funkcji. | Możemy wykonywać operacje takie jak odwracanie liczby, obracanie jej w lewo lub obracanie w prawo. |
Weźmy kilka przykładów związanych z rzucaniem, konwersją bazy, operacjami i elastycznością, aby zrozumieć różnice między nimi.
CastingExample.java
//creating CastingExample class to understand difference between int and Integer based on casting public class CastingExample { //main() method starts public static void main(String args[]) { //creating an integer by taking a string value Integer data = new Integer('987'); // int data = (int)'987'; we cannot typecast string to int // int newData = '987'; we cannot directly pass string value to int // by using the parseInt() method of the Integer Wrapper class, we can perform casting int newData = Integer.parseInt('987'); //print newData, i.e., of type int System.out.print(data+' '+newData); } }
Wyjście:
CastingExample.java
//create BaseConversionExample class to convert the integer value into different bases public class BaseConversionExample { //main() method starts public static void main(String args[]) { //change the base to binary String binVal = Integer.toBinaryString(987); //change the base to octal String octVal = Integer.toOctalString(98); //change the base to hexadecimal String hexVal = Integer.toHexString(987); System.out.print('Binary value of 987 is: ' + binVal + ' Octal value of 987 is: ' + octVal + ' Hexadecimal value of 987 is: ' + hexVal); } }
Wyjście:
Przykład elastyczności.java
//import classes and packages that are required import java.util.function.Function; import java.util.function.Function; //create FlexibilityExample class to check flexibility of the wrapper class public class FlexibilityExample { //main() method starts public static void main(String args[]) { Integer x = new Integer('23'); //create an integer variable x of type object Integer y = new Integer('55'); //create an integer variable y of type object int p = 12; //create an integer variable p of primitive type double q = 4.23; //create a varibale q of type double Double z = new Double('8.6'); //create a variable x of type object that holds double value //print the sum of 2 Integer objects System.out.println('Sum :' + (x + y)); //print the sum of a double object and an Integer object System.out.println('Sum :' + (y + z)); //print the sum of an int value and an Integer object System.out.println('Sum :' + (p + x)); //print the sum of a double value and an Integer object System.out.println('Sum :' + (q + y)); } }
Wyjście: