سطح تقریبی دانش مورد نیاز: Java Syntax quest و کمی Java Core.
در پایان اولین کوئست JavaRush با تبدیل نوع آشنا می شویم. در سخنرانی های سطح 10 می بینید که تبدیل int
به String
بسیار ساده است و به طور کلی تقریباً هر نوع اولیه را می توان String
بدون مشکل به آن تبدیل کرد.
int x = 5;
String text = "X=" + x;
همچنین، کسانی که قبلاً سطح 10 جستجوی Java Syntax را تکمیل کردهاند، میدانند که تبدیل ارجاع به یک عدد به یک مرجع به یک رشته غیرممکن است. بنابراین بهترین راه برای تبدیل یک رشته به یک عدد صحیح اولیه چیست؟ بهتر است این کار را با استفاده از متد parseInt
کلاس انجام دهید Integer
. اگر رشته را نتوان به نوع تبدیل کرد، متد parseInt
باید String
به int
یک استثنا تبدیل کند و یک استثنا ایجاد کند . NumberFormatException
int
مثال
خط اصلی که یک رشته را به عدد صحیح تبدیل می کند:
int i = Integer.parseInt (myString);
اگر رشته ای که با متغیر مشخص می شود myString
یک عدد صحیح معتبر باشد، مانند "1"، "200"، جاوا بی سر و صدا آن را به یک نوع داده اولیه تبدیل می کند int
. اگر به دلایلی این کار انجام نشد، چنین عملی ممکن است یک استثنا ایجاد کند NumberFormatException
، بنابراین برای اینکه برنامه برای هر رشته به درستی کار کند، به کد کمی بیشتر نیاز داریم. برنامه ای که روش تبدیل Java String
به int
کنترل ممکن را نشان می دهد NumberFormatException
:
public class JavaStringToIntExample
{
public static void main (String[] args)
{
String s = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
بحث
وقتی مثال بالا را مطالعه می کنید، می بینید که از این متد Integer.parseInt (s.trim ())
برای تبدیل رشته s
به عدد صحیح استفاده می شود i
و این در خط کد زیر اتفاق می افتد:
int i = Integer.parseInt (s.trim ())
اما گاهی اوقات تبدیل یک رشته به عدد کار نمی کند. در مثال ما، چنین رشته ای نام fred است. ما می توانیم در مورد کدهایی صحبت کنیم که در آنها حروف در رایانه نوشته می شوند، اما، به طور رسمی، fred یک عدد نیست و بهتر است آن را به عنوان یک رشته بگذارید. برنامه ما به گونه ای طراحی شده است که اگر سعی کنید "فرد" را به یک عدد تبدیل کنید، فرآیند Integer parseInt
یک استثنا ایجاد می کند NumberFormatException
که باید آن را در یک بلوک مدیریت کنید try / catch
. در این حالت شما مجبور نیستید از متد trim ()
کلاس استفاده کنید String
، اما در برنامه نویسی واقعی باید از آن استفاده کنید. بنابراین ما آن را به شما نشان دادیم. از آنجایی که این موضوع مطرح شده است، در اینجا چند "نکات" در مورد موضوع کلاس ها وجود دارد String
و Integer
:
Integer.toString (int i)
برای تبدیل int
به رشته های جاوا استفاده می شود.
- اگر می خواهید یک شی را
String
به یک شی تبدیل کنید Integer
(به جای یک کلاس اولیه int
)، از متد valueOf ()
on-class Integer
به جای استفاده از parseInt ()
.
- اگر نیاز به تبدیل رشته ها به فیلدهای اضافی جاوا اولیه دارید، از روش هایی مانند این استفاده کنید
Long.parseLong ()
.
پاسخ داده شده توسط: آلیس واتسون
GO TO FULL VERSION