Далее, предыдущая статья представит вам общие методы приложений Java и ввода и вывода для вашей ссылки. Конкретный контент заключается в следующем
1. Приложение
1. Используйте StringBuilder или StringBuffer
// join (["a", "b", "c"]) -> "a и b и c" string join (list <string> strs) {stringBuilder sb = new StringBuilder (); Boolean First = true; for (string s: strs) {if (first) first = false; else sb.append ("и"); SB.Append (ы); } return sb.toString ();}2. Сгенерировать случайные целые числа в диапазоне
Случайный rand = new Random (); // между 1 и 6, включая diceroll () {return 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 (); }}Метод remove () действует при недавно возвращенном вводе метода следующего (). Каждая запись может использовать метод remove () только один раз.
4. вернуть строку
String reverse (string s) {return new StringBuilder (s) .reverse (). ToString ();} Этот метод, вероятно, должен быть добавлен в стандартную библиотеку Java.
5. Запустите поток <br /> Следующие три примера используют разные методы для выполнения одного и того же.
Как реализовать runnnable:
void startAThRead0 () {new Thread (new MyRunnable ()). start ();} класс MyRunnable реализует runnable {public void run () {...}}Как унаследовать нить:
void startAThread1 () {new MyThread (). Start ();} класс MyThread Extends Thread {public void run () {...}}Как унаследовать нить анонимно:
void startAThread2 () {new Thread () {public void run () {...}} .start ();}Не вызывайте метод run () напрямую. Метод Thread.Start () всегда вызывается, который создает новый поток и приводит к тому, что недавно созданный поток вызовет run ().
6. Используйте Try-Finally
Пример потока ввода/вывода:
void writeStuff () бросает ioException {outputStream out = new FileOutputStream (...); попробуйте {out.write (...); } наконец {out.close (); }}Пример блокировки:
void dowithlock (lock lock) {lock.acquire (); try {...} наконец {lock.release (); }}2. Вход/Вывод
1. Прочитать данные байтовых из входного потока
InputStream in = (...); try {while (true) {int b = in.read (); if (b == -1) разрыв; (... процесс B ...)}} наконец {in.close ();}Метод Read () либо возвращает следующее число байтов, считываемых из потока (от 0 до 255, включая 0 и 255), либо возвращает -1, когда достигнут конец потока.
2. Прочитать данные блока из входного потока
InputStream in = (...); try {byte [] buf = new Byte [100]; while (true) {int n = in.read (buf); if (n == -1) разрыв; (... процесс BUF с Offset = 0 и Length = n ...)}} наконец {in.close ();}Помните, что метод read () не обязательно заполняет весь BUF, поэтому вы должны рассмотреть длину возврата в логике обработки.
3. Прочтите текст из файла
BufferedReader in = new BufferedReader (new InputStreamReader (new FileInputStream (...), "UTF-8")); try {while (true) {String line = in.readline (); if (line == null) перерыв; (... Линия процесса ...)}} наконец {in.close ();}4. Записать текст в файл
Printwriter out = new PrintWriter (новый outputstreamwriter (new FileOutputStream (...), "UTF-8")); try {out.print ("hello"); Out.print (42); out.println ("world!");} наконец {out.close ();}Выше приведено в этой статье, я надеюсь, что это будет полезно для каждого обучения.