Page 197 - 6253
P. 197

Зберегти  зміни  в  об'єкті  класу  String  можна  тільки  за  допомогою  оператора

            присвоєння, тобто шляхом встановлення посилання на новий об'єкт.

                  У наступному прикладі розглядаються особливості зберігання та ідентифікації

            об'єктів  на  прикладі  виклику  методу  equals(),  що  порівнює  рядок  типу  String  із

            вказаним об'єктом і методу hashCode(), який обчислює хеш-код переданого об'єкта.

                  // Порівняння посилань та об'єктів

                  public class Main {

                      public static void main(String[] args) {

                          String s1 = "Java";

                          String s2 = "Java";

                          String s3 = new String("Java");



                          System.out.println(s1 + "==" + s2 + " : " + (s1 == s2));

                          System.out.println(s1 + "==" + s3 + " : " + (s1 == s3));



                          System.out.println(s1   +     "     equals    "     +     s2     +     "    :    "     +
                          s1.equals(s2));

                          System.out.println(s1   +     "     equals    "     +     s3     +     "    :    "     +
                          s1.equals(s3));



                          System.out.println(s1.hashCode());

                          System.out.println(s2.hashCode());

                          System.out.println(s3.hashCode());

                      }

                  }


                  Запустивши програму на виконання отримаємо наступний результат:


                  Java==Java : true

                  Java==Java : false

                  Java equals Java : true

                  Java equals Java : true

                  2301506




                                                              196
   192   193   194   195   196   197   198   199   200   201   202