دعونا نلقي نظرة على الكود أولاً
الفئة العامة integerdemo {public static void main (string [] args) {string num = null ؛ system.out.println (integer.parseint (num)) ؛ // استثناء java.lang.numberformatexception system.out.println (integer.valueof (num)) // الإخراج null num = "" ؛ system.out.println (integer.parseint (num)) ؛ // استثناء java.lang.numberformatexception system.out.println (integer.valueof (num)) ؛ // استثناء java.lang.numberformatexception system.out.println (string.valueof (num)) ؛ // سلسلة فارغة ، لا شيء هو الإخراج}}دعونا نلقي نظرة على كيفية كتابة string.valueof ()
يمكن أن يخرج string.valueof () بشكل طبيعي عند مواجهة سلاسل فارغة وفارغة ، لذلك لا يتم إلقاء أخطاء.
دعونا نلقي نظرة على كيفية معالجة عدد صحيح نوع التغليف
في كلتا الطريقتين ، سيتم تحويل Parseint (s ، 10) إلى تحويل السلسلة إلى نوع أساسي من العشرية ، ولكن سيتم استرداد قيمة () من ذاكرة التخزين المؤقت الداخلية لـ [-127 ، 127] وفقًا لنطاق int (باستخدام وضع الكيان في وضع التصميم)
دعونا نلقي نظرة على Parseint (S ، 10). في هذه الطريقة ، سوف نحكم على ما إذا كانت السلسلة عبارة عن رقم قانوني ، وسوف نتحقق من التنسيقات الأخرى مثل الفارغ والسلسلة الفارغة ، وما إلى ذلك ، لذلك سنقوم برمي خطأ
Public Static int parseint (السلسلة S ، int radix) يلقي numberFormatexception { / * * تحذير: قد يتم استدعاء هذه الطريقة مبكرًا أثناء تهيئة VM * قبل تهيئة integercache. يجب توخي الحذر لعدم استخدام طريقة القيمة. */ if (s == null) {رمي numberFormatexception ("null") ؛ } if (radix <character.min_radix) {رمي numberFormatexception ("radix" + radix + "أقل من الحرف min_radix") ؛ } if (radix> character.max_radix) {رمي numberFormatexception ("radix" + radix + "أكبر من الحرف max_radix") ؛ } النتيجة int = 0 ؛ منطقية سلبية = خطأ ؛ int i = 0 ، len = s.length () ؛ int limit = -integer.max_value ؛ int multmin رقم int if (len> 0) {char firstchar = s.charat (0) ؛ if (firstchar <'0') {// leving "+" أو "-" if (firstChar == '-') {sperve = true ؛ limit = integer.min_value ؛ } آخر إذا (firstchar! = '+') رمي numberFormatexception.ForInputString (s) ؛ if (len == 1) // لا يمكن أن يكون لديك وحيد "+" أو "-" ترمي numberFormatexception.ForInputString (s) ؛ i ++ ؛ } multmin = limit / radix ؛ بينما (i <len) {// يتجنب تراكم سلبًا المفاجآت بالقرب من max_value digit = character.digit (s.charat (i ++) ، radix) ؛ if (digit <0) {throw numberformatexception.ForInputString (s) ؛ } if (النتيجة <multmin) {throw numberFormatexception.ForInputString (s) ؛ } النتيجة *= radix ؛ if (النتيجة <limit + digit) {throw numberformatexception.forinputString (s) ؛ } النتيجة -= الرقم ؛ }} else {throw numberformatexception.ForInputString (s) ؛ } إرجاع سلبي؟ النتيجة: -Result ؛ }لخص
ما سبق هو تحليل رمز الفرق والنتائج لـ integer.valueof ، parsetint () string.valueof في Java المقدمة إليك من قبل المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!