IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Array et fonctions


Sujet :

Android

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 415
    Points : 125
    Points
    125
    Par défaut Array et fonctions
    Bonjour,

    je voudrais mettre un "if" dans cet Array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private static final XAPKFile[] xAPKS = {
                new XAPKFile(
                        true, // true signifies a main file
                        4003, // the version of the APK that the file was uploaded
                           // against
                        12970581L // the length of the file in bytes
                ),
                if(patchFile) new XAPKFile(
                        false, // false signifies a patch file
                        4, // the version of the APK that the patch file was uploaded
                           // against
                        512860L // the length of the patch file in bytes
                )   
        };
    mais comment faire ?
    merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    un tableau ne peut contenir que des valeurs ! Soit les valeurs de type primaire, soit des références d'instances de classe.

    Une structure avec un if n'est pas une valeur !

    Qu'est ce que tu cherches à faire au juste ? C'est quoi cette variable patchfile, d'ou vient-elle ? Ton tableau étant statique, cette variable doit être au minimum statique.

    Si le but est d'avoir un tableau qui ne contient qu'une seule instance si patchfile est false, et 2 si patchfile est true, sache que comme ton tableau est final, il sera initialisé au moment de la création de la classe qui le déclare, et sa taille ne pourra être modifiée par la suite. Et une modification de patchfile ne modifiera pas les valeurs contenues dans tableau, sans faire un code spécifique qui le fait, et tu ne pourras pas modifier sa taille.

    Lorsque l'initialisation d'une variable statique, donc à fortiori une constante (statique finale), dépend de tests, ou boucles, etc, il est nécessaire de l'initialiser dans le bloc statique de la classe, qui peut être comme suit par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    {
      xAPKS = new XAPKFile[patchfile?1:2];
      xAPKS[0] = new XAPKFile(
                        true, // true signifies a main file
                        4003, // the version of the APK that the file was uploaded
                           // against
                        12970581L // the length of the file in bytes
                );
        if(patchFile) xAPKS[1]=new XAPKFile(
                        false, // false signifies a patch file
                        4, // the version of the APK that the patch file was uploaded
                           // against
                        512860L // the length of the patch file in bytes
                ) ;  
    }
    Mais ça me semble assez bizarre ce tableau final et statique avec instances de classe référençant des tailles de fichiers en dur dedans !

    A mon avis, tu n'es pas sur la bonne voie pour résoudre ton problème initial.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Ajouter array à ma fonction
    Par Temjeh3 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/12/2014, 17h15
  2. Comment "mapper" un array en fonction des champs name d'un formulaire ?
    Par student_php dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/05/2013, 11h11
  3. Array de fonctions
    Par iraldir dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 29/08/2011, 12h30
  4. Passer des Array à la fonction _call()
    Par bobic dans le forum Langage
    Réponses: 1
    Dernier message: 28/11/2010, 01h03
  5. Réponses: 15
    Dernier message: 16/09/2009, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo