


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti su Java Standard, presso ELIS
Tipologia: Appunti
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



java. time è il pacchetto introdotto in Java 8 per gestire date, orari, durate e fusi orari in modo più intuitivo e potente rispetto alle vecchie classi java.util.Date e java.util.Calendar. LocalDate : Rappresenta una data senza orario o fuso orario. È utile per rappresentare date come compleanni, eventi, ecc. Esempio: LocalDate today = LocalDate.now(); // Data corrente LocalDate specificDate = LocalDate.of(2024, Month.OCTOBER, 11); // Data specifica LocalTime : Rappresenta un'ora del giorno senza informazioni sulla data o sul fuso orario. Esempio: LocalTime currentTime = LocalTime.now(); // Orario corrente LocalTime specificTime = LocalTime.of(14, 30); // Orario specifico (14:30) LocalDateTime : Combina LocalDate e LocalTime per rappresentare una data e un orario senza fuso orario. ZonedDateTime : È simile a LocalDateTime, ma include anche informazioni sul fuso orario. Instant : Rappresenta un istante preciso (es. un timestamp) nel tempo, partendo dall'Epoch (1970-01-01T00:00:00Z). Period : Rappresenta una quantità di tempo in termini di anni, mesi e giorni. Duration : Rappresenta una durata in secondi e nanosecondi. È utile per rappresentare intervalli di tempo più precisi rispetto a Period. ZoneId e ZoneOffset : ZoneId rappresenta un fuso orario, come "Europe/Rome" o "America/New_York". ZoneOffset rappresenta la differenza in ore da UTC, come "+02:00". DateTimeFormatter : Utilizzato per formattare e analizzare oggetti di data e ora in stringhe leggibili. Esempio: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); String formattedDate = today.format(formatter); // "11/10/2024" Definizione e dichiarazione delle ArrayList(): ArrayList è una classe presente nel package java.util di Java che implementa l'interfaccia List. È una lista dinamica che consente di memorizzare elementi in ordine, mantenendo la loro sequenza di inserimento, e permette la duplicazione degli elementi. A differenza di un array normale, la dimensione di un ArrayList può crescere e ridursi dinamicamente durante l'esecuzione del programma.
Caratteristiche principali di ArrayList: Dinamico: Può crescere o ridursi automaticamente in base al numero di elementi aggiunti o rimossi. Basato su array: Internamente, ArrayList utilizza un array per memorizzare gli elementi. Se l'array diventa pieno, viene creato un nuovo array con una capacità maggiore e gli elementi vengono copiati nel nuovo array. Ordine : Mantiene l'ordine degli elementi secondo il loro inserimento. Accesso casuale veloce: Grazie al fatto che è basato su array, offre un accesso molto rapido agli elementi tramite l'indice (O(1)). Rimozione e inserimento lenti: Operazioni come l'inserimento o la rimozione di elementi al centro della lista possono essere lente (O(n)) perché richiedono lo spostamento di tutti gli altri elementi. ArrayList
case 2 -> { System.out.println("Controllo se l'anno è bisestile..."); yield 28; // yield restituisce il valore } default -> throw new IllegalArgumentException("Mese non valido"); }; Un record è una classe speciale che è stata creata per quelle classi che una volta venivano utilizzate per raccogliere dati , ad esempio la raccolta degli utenti. I campi della classe sono automaticamente final e in automatico contiene: i getter, toString(), l’equals(), hashCode() e il costruttore parametrizzato. Esempio: public record Persona (String nome, int eta) {} Il “sealed”. È una nuova funzionalità introdotta in Java 17 e permette di limitare le classi e le interfacce che possono estendere o implementare una classe/interface , avendo una maggiore gerarchia di classi e design del codice. Viene utilizzata per un controllo più rigoroso sull’ereditarietà e una maggiore leggibilità e manutenibilità del codice, riducendo l’abuso di ereditarietà. Esempio: public abstact sealed class Veicolo permits Auto, Moto, Bicicletta {} Esempio2: public class Bicicletta extends Veicolo permit BiciElettrica {}