Page 41 - 4657
P. 41

починається  дана  підстрока  фрагментом,  переданим  методу  як
            параметр. Метод endsWith перевіряє чи збігається з параметром
            кінець рядка.

                  Рівність


                 Метод  equals  і  оператор  ==  виконують  дві  зовсім  різних
            перевірки.  Якщо  метод  equal  порівнює  символи  усередині
            рядків,  то  оператор  ==  порівнює  двох  змінних  посилань  на
            об'єкти і перевіряє, чи указують вони на різні чи об'єкти на той
            самий.  В  черговому  нашому  прикладі  це  добре  видно  -  уміст
            двох рядків однаково, але, проте, це - різні об'єкти, так що equals
            і == дають різні результати.
            class EqualsNotEqualTo {
            public static void main(String args[]) {
            String s1 = "Hello";
            String s2 = new String(s1);
            System.out.println(s1 + " equals " + s2 + " -> " +
            s1.equals(s2));
            System.out.println(s1 + " == " + s2 + ", -> " +
            (s1 == s2));
            } }
                 От результат запуску цього приклада:

            C:\> java EqualsNotEqualTo
            Hello equals Hello -> true
            Hello == Hello -> false

                  Упорядкування

                 Найчастіше буває недостатньо просто знати, чи є два рядки
            ідентичними.  Для  програм,  у  яких  потрібно  сортування,
            потрібно знати, яка з двох рядків менше іншої. Для відповіді на
            це  питання  потрібно  скористатися  методом  compareTo  класу
            String.  Якщо  ціле  значення,  повернуте  методом,  негативно,  то
            рядок,  з  яким  був  викликаний  метод,  менше  рядка-параметра,
            якщо  позитивно  -  більше.  Якщо  ж  метод  compareTo  повернув
            значення 0, рядки ідентичні. Нижче приведена програма, у якій
                                                                             39
   36   37   38   39   40   41   42   43   44   45   46