question                    | 
                
                    réponse                    | 
            
        
        | 
     commencer à apprendre
 | 
 | 
      String to klasa zdefiniowana w pakiecie java. lang.   
 | 
 | 
 | 
      Dlaczego String jest niezmienny?    commencer à apprendre
 | 
 | 
      Bezpieczeństwo, synchronizacja, zarządzanie pamięcią.   
 | 
 | 
 | 
      Dlaczego niezmienność Stringa wpływa na bezpieczeństwo?    commencer à apprendre
 | 
 | 
      String jest powszechny i służy do przechowywania danych ważnych i/lub wrażliwych. Niezmienność Stringa zabezpiecza te dane przed niechcianymi modyfikacjami.   
 | 
 | 
 | 
      Dlaczego niezmienność Stringa wpływa na synchronizację?    commencer à apprendre
 | 
 | 
      W przypadku programu wielowątkowego niezmienność Stringa eliminuje problem synchronizacji.   
 | 
 | 
 | 
      Dlaczego niezmienność Stringa wpływa na zarządzanie pamięcią?    commencer à apprendre
 | 
 | 
      Odpowiedzią jest String Pool - obszar pamięci zrezerwowany tylko dla Stringów zainicjowanych bez słówka new.   
 | 
 | 
 | 
| 
     commencer à apprendre
 | 
 | 
      Obszar pamięci zrezerwowany tylko dla Stringów zainicjowanych bez słówka new.   
 | 
 | 
 | 
      Gdzie lądują Stringi zainicjowane samym cudzysłowem (bez słówka new)?    commencer à apprendre
 | 
 | 
    
 | 
 | 
 | 
      Gdzie lądują Stringi zainicjowane przy pomocy słówka new?    commencer à apprendre
 | 
 | 
    
 | 
 | 
 | 
      Jak porównujemy obiekty typu String?    commencer à apprendre
 | 
 | 
      Do porównywania obiektów typu String używamy metody equals().   
 | 
 | 
 | 
      Dlaczego nie używamy symbolu == do porównywania Stringów?    commencer à apprendre
 | 
 | 
      Istnieje prawdopodobieństwo, że dwa Stringi, które wyglądają tak samo, nie są identyczne (różnią się hashcodem).   
 | 
 | 
 | 
      Co to jest StringBuilder i StringBuffer?    commencer à apprendre
 | 
 | 
      StringBuilder i StringBuffer to klasy służące do manipulacji Stringami bez konieczności ciągłego tworzenia nowych obiektów.   
 | 
 | 
 | 
      Czym różni się StringBuilder od StringBuffera?    commencer à apprendre
 | 
 | 
      StringBuffer jest bezpieczny wielowątkowo, a StringBuilder jest bardziej wydajny.   
 | 
 | 
 | 
      Czym różni się String od innych klas pochodnych?    commencer à apprendre
 | 
 | 
      String Pool (własny obszar pamięci), jest niezmienny, można go deklarować bez użycia słówka "new", konkatenacja.   
 | 
 | 
 | 
      String, StringBuffer i StringBuilder – która z tych trzech klas typu final?    commencer à apprendre
 | 
 | 
      Wszystkie. Nie można po nich dziedziczyć.   
 | 
 | 
 | 
      Czy w obiekcie klasy String można przechowywać dane wrażliwe? Dlaczego?    commencer à apprendre
 | 
 | 
      Nie powinno się tak robić, ponieważ Stringi są niezmienne i trwałe, każdy z dostępem do pamięci mógłby dostać się np. do hasła. Lepiej do tych cełów używać char[].   
 | 
 | 
 |