Page 38 - 4657
P. 38

У  тому  випадку,  коли  age  -  не  String,  а  змінна,  скажемо,
       типу  int,  у  цьому  рядку  коду  укладеноі  ще  більше  магії
       транслятора. Ціле значення змінної int передається сполученому
       методу  append  класу  StringBuffer,  що  перетворить  його  в
       текстовий вид і додає в кінець рядка, що міститься в об'єкті. Вам
       потрібно  бути  уважним  при  спільному  використанні  цілих
       виражень і злиття рядків, у противному випадку результат може
       вийти  зовсім  не  той,  котрий  ви  чекали.  Гляньте  на  наступну
       рядок:

       String s = "four: " + 2 + 2;
           Бути  може,  ви  сподіваєтеся,  що  в  s  буде  записаний  рядок
       «four: 4»? Не угадали - з вами зіграла злий жарт послідовність
       виконання операторів. Так що в результаті виходить "four: 22".
           Для того, щоб першим виконалося додавання цілих чисел,
       потрібно використовувати дужки :

       String s = "four: " + (2 + 2);

            Перетворення рядків

           У  кожнім  класі  String  є  метод  toString  -  або  своя  власна
       реалізація, або варіант за замовчуванням, наслідуваний від класу
       Object.  Клас  у  нашому  черговому  прикладі  заміщає
       наслідуваний  метод  toStrring  своїм  власної,  що  дозволяє  йому
       виводити значення змінних об'єкта.
       class Point {
       int х, у;
       Point(int x, int у) {
       this.x = х;
       this.у = у;
       }
       public String toString() {
       return "Point[" + x + ", " + у + "]";
       } }
       class toStringDemo {
       public static void main(String args[]) {
       Point p = new Point(10, 20);

       36
   33   34   35   36   37   38   39   40   41   42   43