Apprendre Java en 2017

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour, j’aimerais bien apprendre le langage Java (ou du moins ré-apprendre car j’ai quasiment tout oublié) et je voudrais savoir à quel point le tutoriel de cysboy disponible sur le site est obsolète. Auquel cas avez-vous une alternative?

Merci bien! ^^

Édité par Ozmox

00.23.48.12

+0 -0

Cette réponse a aidé l'auteur du sujet

Bonjour,

Oui le tuto de cysboy est totalement obsolète. Je n’ai pas de tuto en tête à te conseiller mais regarde un peu les liens des ressources sur le sujet chez StackOverflow.

Et si après tu t’intéresse à Java EE, les articles de BalusC sont très bien (ainsi que ses réponses sur SO).

En plus sympathique que le Java mais toujours sur la JVM, je te conseille de jeter un œil sur le langage Kotlin qui est interopérable avec Java et développé par JetBrains (la société qui développe IntellijIDEA, PyCharm....).

Fumble’s Dev Center v1.0 - Secrétaire de Zeste de Savoir - Sharleen <3 - Áfram Ísland ! - Commander Shepard true fan

+4 -0

Pour le Java 7, on peu aussi citer le try-with-resources, les nouvelles API Java NIO avec les Paths & Co pour remplacer l’ancienne à base de File, le diamond operator

Sous le terme barbare de diamond operator se cache un truc tout simple pour les génériques et donc utilisé de partout dans les collections et qui simplifie l’écriture. Sous le capot, j’imagine que type à instancier est inféré à partir du type déclaré de la variable.

1
2
3
4
5
// Avant 
List<String> myList = new ArrayList<String>();

// Après
List<String> myList = new ArrayList<>();

Fumble’s Dev Center v1.0 - Secrétaire de Zeste de Savoir - Sharleen <3 - Áfram Ísland ! - Commander Shepard true fan

+0 -0

Objects et Collections ont aussi était améliorés en java7, non?

Signé, un fan de return Collections.emptyList().

artragis

La Javadoc me dit Java 1.5 pour Collections.emptyList()

Il faut juste faire attention car la liste retournée est immutable donc tu ne peut pas faire de myList.add() dessus ou ce genre de chose.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class EmptyTest {
    public <T> List<T> foo() {
        return new ArrayList<>();
    }

    public <T> List<T> bar() {
        return Collections.emptyList();
    }

    public static void main(String[] args) {
        EmptyTest test = new EmptyTest();
        List<String> l = test.foo();
        l.add("Hello");
        System.out.println(l);

        List<String> l2 = test.bar();
        l2.add("Coucou"); // BOUM - Ligne 24
        System.out.println(l2);
    }
}

// Résultat
[Hello]
Exception in thread "main" java.lang.UnsupportedOperationException
  at java.util.AbstractList.add(AbstractList.java:148)
  at java.util.AbstractList.add(AbstractList.java:108)
  at EmptyTest.main(EmptyTest.java:24)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Process finished with exit code 1

Édité par Fumble

Fumble’s Dev Center v1.0 - Secrétaire de Zeste de Savoir - Sharleen <3 - Áfram Ísland ! - Commander Shepard true fan

+0 -0

Il faut juste faire attention car la liste retournée est immutable donc tu ne peut pas faire de myList.add() dessus ou ce genre de chose.

c’est la raison qui rend cette fonction si utile en fait.

Par contre Objects apparait bien en 1.7 et quelques ajouts ont été fait à Collections dans cette version.

Mais la killer feature de java 1.8 reste String.format…

+0 -0
Auteur du sujet

Merci pour vos réponses (outre le débat douteux que je comprends pas mais bref :-p ). Je vais regarder du côté des liens du Fumble et aussi la doc d’oracle.

En revanche, ne connaissez-vous pas de cours complet dans le style de ceux du zds/sdz?

00.23.48.12

+0 -0

Cette réponse a aidé l'auteur du sujet

On peut l’améliorer à volonté ou il faut demander la permission de l’auteur ?

Je me souviens avoir il y a très longtemps envoyé une liste de remarques à Cysboy qu’il avait tout simplement mis de côté car pas le temps. En relisant le cours, j’arriverai peut-être à m’en rappeller

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte