بعد ذلك ، ستقدم المقالة السابقة لك الطرق المشتركة لتطبيقات Java والمدخلات والمخرجات للرجوع إليها. المحتوى المحدد كما يلي
1. التطبيق
1. استخدم StringBuilder أو StringBuffer
// join (["A" ، "B" ، "C"]) -> "A و B و C" السلسلة Join (List <String> strs) {StringBuilder sb = new StringBuilder () ؛ منطقية أولاً = صواب ؛ لـ (String s: strs) {if (first) first = false ؛ آخر sb.append ("و") ؛ sb.append (s) ؛ } إرجاع sb.tostring () ؛}2. إنشاء أعداد صحيحة عشوائية في نطاق
Rand Rand = New Random () ؛ // بين 1 و 6 ، بما في ذلك diceroll () {rand.nextint (6) + 1 ؛} 3. استخدم iterator.remove ()
void filter (list <string> list) {for (iterator <string> iter = list.iterator () ؛ iter.hasnext () ؛) {string item = iter.next () ؛ if (...) iter.remove () ؛ }}تعمل طريقة إزالة () على الإدخال الذي تم إرجاعه مؤخرًا للطريقة التالية (). يمكن لكل إدخال استخدام طريقة إزالة () مرة واحدة فقط.
4. سلسلة العودة
سلسلة عكسية (سلسلة S) {إرجاع جديد stringbuilder (s) .reverse (). toString () ؛} من المحتمل أن تتم إضافة هذه الطريقة إلى مكتبة Java Standard.
5. ابدأ مؤشر ترابط <br /> تستخدم الأمثلة الثلاثة التالية طرقًا مختلفة لإنجاز نفس الشيء.
كيفية تنفيذ Runnnable:
void startathread0 () {new thread (new myrunnable ()). start () ؛} class myrunnable armements {public void run () {...}}كيف ترث الموضوع:
void startathread1 () {new MyThread (). start () ؛} class myThread يمتد Thread {public void run () {...}}كيفية ورث الخيط بشكل مجهول:
void startathread2 () {new thread () {public void run () {...}} .start () ؛}لا تستدعي طريقة التشغيل () مباشرة. تسمى طريقة thread.start () دائمًا ، والتي تنشئ مؤشر ترابط جديد ويسبب مؤشر الترابط الذي تم إنشاؤه حديثًا للاتصال ().
6. استخدم المحاولة
مثال على دفق I/O:
void writestuff () يلقي ioException {outputStream out = new FileOutputStream (...) ؛ حاول {out.write (...) ؛ } أخيرًا {out.close () ؛ }}مثال قفل:
void dowithlock (lock lock) {lock.acquire () ؛ حاول {...} أخيرًا {lock.release () ؛ }}2. الإدخال/الإخراج
1. اقرأ بيانات البايت من دفق الإدخال
inputStream in = (...) ؛ حاول {بينما (صحيح) {int b = in.read () ؛ إذا (ب == -1) استراحة ؛ (... العملية ب ...)}} أخيرًا {in.close () ؛}تقوم طريقة القراءة () إما بإرجاع العدد التالي من البايتات القراءة من الدفق (من 0 إلى 255 ، بما في ذلك 0 و 255) ، أو إرجاع -1 عند الوصول إلى نهاية الدفق.
2. اقرأ بيانات الكتلة من دفق الإدخال
inputStream in = (...) ؛ حاول {byte [] buf = new byte [100] ؛ بينما (صحيح) {int n = in.read (buf) ؛ إذا (n == -1) استراحة ؛ (... معالجة buf مع الإزاحة = 0 والطول = n ...)}} أخيرًا {in.close () ؛}تذكر أن طريقة القراءة () لا تملأ بالضرورة BUF بأكملها ، لذلك عليك أن تفكر في طول العائد في منطق المعالجة.
3. اقرأ النص من الملف
BufferedReader in = new BufferEdReader (new inputStreamReader (new FileInputStream (...) ، "UTF-8")) ؛ حاول {بينما (صحيح) {string line = in.readline () ؛ إذا (السطر == فارغ) استراحة ؛ (... خط العملية ...)}} أخيرًا {in.close () ؛}4. اكتب النص إلى الملف
printWriter out = new PrintWriter (New OutputStreamWriter (FileOutputStream (...) ، "UTF-8")) ؛ جرب {out.print ("Hello") ؛ Out.print (42) ؛ Out.println ("World!") ؛} أخيرًا {Out.Close () ؛}ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون مفيدًا لتعلم الجميع.