Da Effective Java di Joshua Bloch, Le matrici differiscono dal tipo generico in due modi importanti. I primi array sono covarianti. I generici sono invarianti. Covariant significa semplicemente che se X è un sottotipo di Y, allora X [] sarà anche un sottotipo di Y []. Le matrici sono covarianti …
In C # (e in molte altre lingue) è perfettamente legittimo accedere a campi privati di altre istanze dello stesso tipo. Per esempio: public class Foo { private bool aBool; public void DoBar(Foo anotherFoo) { if (anotherFoo.aBool) ... } } Come la specifica C # (sezioni 3.5.1, 3.5.2) afferma che …
Secondo la Java Language Sepecification , 3a edizione: È un errore in fase di compilazione se una classe generica è una sottoclasse diretta o indiretta di Throwable. Vorrei capire perché questa decisione è stata presa. Cosa c'è che non va nelle eccezioni generiche? (Per quanto ne so, i generici sono …
Ho avuto a che fare molto con Lua negli ultimi mesi e mi piacciono molto la maggior parte delle funzionalità, ma mi manca ancora qualcosa tra quelle: Perché non c'è continue? Quali soluzioni alternative ci sono?
Prima di leggere questo articolo , pensavo che il controllo degli accessi in Ruby funzionasse in questo modo: public- accessibile da qualsiasi oggetto (es. Obj.new.public_method) protected - è possibile accedervi solo dall'interno dell'oggetto stesso, nonché da eventuali sottoclassi private - uguale a protetto, ma il metodo non esiste nelle sottoclassi …
Se creo un bool all'interno della mia classe, solo qualcosa del genere bool check, il valore predefinito è falso. Quando creo lo stesso valore nel mio metodo bool check(anziché all'interno della classe), viene visualizzato l'errore "uso del controllo variabile locale non assegnato". Perché?
Dato un semplice switch switch switch (int) { case 1 : { printf("1\n"); break; } case 2 : { printf("2\n"); } case 3 : { printf("3\n"); } } L'assenza di una dichiarazione di rottura nel caso 2, implica che l'esecuzione continuerà all'interno del codice per il caso 3. Questo non …
In C # e Java (e forse anche in altre lingue), le variabili dichiarate in un blocco "try" non rientrano nell'ambito dei blocchi "catch" o "finally" corrispondenti. Ad esempio, il seguente codice non viene compilato: try { String s = "test"; // (more code...) } catch { Console.Out.WriteLine(s); //Java fans: …
Non ho mai veramente capito perché C ++ abbia bisogno di un file header separato con le stesse funzioni del file .cpp. Rende molto difficile la creazione di classi e il loro refactoring e aggiunge file non necessari al progetto. E poi c'è il problema di dover includere i file …
Stavo lavorando con un nuovo sviluppatore C ++ qualche tempo fa quando mi ha posto la domanda: "Perché i nomi delle variabili non possono iniziare con i numeri?" Non sono riuscito a trovare una risposta, tranne per il fatto che alcuni numeri possono contenere del testo (123456L, 123456U) e ciò …
Gli operatori pre / post incremento / decremento ( ++e --) sono sintassi del linguaggio di programmazione piuttosto standard (almeno per linguaggi procedurali e orientati agli oggetti). Perché Ruby non li supporta? Capisco che potresti realizzare la stessa cosa con +=e -=, ma sembra stranamente arbitrario escludere qualcosa del genere, …
Mi chiedo solo perché l' switchistruzione Java 7 non supporta un nullcaso e invece lancia NullPointerException? Vedere la riga commentata di seguito (esempio tratto dall'articolo Tutorial Java suswitch ): { String month = null; switch (month) { case "january": monthNumber = 1; break; case "february": monthNumber = 2; break; case …
NB Questa non è una domanda su come usare le funzioni inline o su come funzionano, ma piuttosto sul motivo per cui sono fatte come sono. La dichiarazione di una funzione membro di una classe non ha bisogno di definire una funzione in inlinequanto è solo l'effettiva implementazione della funzione. …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.