Java'da şunu kullanırız: int Ve Tamsayı tamsayı veri türlerini depolamak için. Şimdi buradan çıkan soru şu; eğer her ikisi de aynı türdeki verileri depolamak için kullanılıyorsa, o zaman ikisi arasındaki fark nedir ve neden ikisine de ihtiyacımız var? Yani, arasındaki temel fark int Ve Tamsayı int'nin ilkel veri türünde olması, Tamsayı'nın ise sınıf türünde olmasıdır. OOP uygulamasının geliştirilmesinde int, ilkel ilkel veri tipi prensibine göre davranır ve bir sarmalayıcı sınıfı .
Ayrıntılara dalalım ve aralarındaki diğer bazı önemli farklılıkları anlayalım. int Ve Tamsayı .
İnt ve Tamsayı arasındaki fark
Bay Hayır. | Faktör | int | Tamsayı |
---|---|---|---|
1. | Tip | int, 32 bit işaretli ikinin tamamlayıcı tamsayısını depolayabilen ilkel bir veri türüdür. | Tamsayı, int veri türü için bize int verilerini dönüştürme, depolama ve işleme konusunda daha fazla esneklik sağlayan bir sarmalayıcı sınıftır. |
2. | Esneklik | Bir int yalnızca içindeki bir tamsayının ikili değerine izin verir ve bu nedenle daha az esneklik sağlar. | Tamsayı, int için bir sarmalayıcı sınıftır ve int ile karşılaştırıldığında daha fazla esneklik sağlar. |
3. | Amaç | Yalnızca tek bir amaç için kullanılır; yani bir tamsayı değerini belleğe saklamak. | Temel amacı int'i bir nesneye veya bir nesneyi int'e dönüştürmektir. |
4. | Bellek kullanımı | İçinde bir tam sayı değerinin saklanması 4 bayt alır. | İçinde bir tam sayı değerinin saklanması 16 bayt alır. |
5. | Temel dönüşüm | İnt'in tamsayı değerini başka bir tabana dönüştüremeyiz. | Integer sınıfı, Integer'da depolanan tamsayı değerini doğrudan dönüştürmemize olanak tanıyan toBinaryString(), toOctalString() ve toHexString() gibi çeşitli yararlı yöntemler sağlar. |
6. | Türü Döküm | Ondalık sayı ve dize değerini int tipi bir değişkene aktaramayız. Bunun için döküm de desteklenmiyor. | Tamsayı, Tamsayı türündeki bir nesneye ondalık sayı veya dize değeri iletmenin çeşitli yollarını sağlar. Integer(String) ve parseInt(String), bir dizeyi int değerine dönüştürebilmemizin iki yoludur. |
7. | Operasyonlar | Dahili işlevler kullanılmadığı için işlemlere izin verilmiyor. | Bir sayıyı ters çevirme, sola döndürme, sağa döndürme gibi işlemleri yapabiliriz. |
İkisi arasındaki farkları anlamak için Döküm, Temel dönüşüm, Operasyonlar ve Esneklik ile ilgili bazı örnekleri ele alalım.
DökümÖrneği.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); } }
Çıktı:
DökümÖrneği.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); } }
Çıktı:
EsneklikÖrneği.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)); } }
Çıktı: