Comment appeler une fonction avec un type de retour à partir de la fonction de la classe Main en Java?


sumitaccess007

J'écris un programme Java pour rechercher un caractère/mot dans plusieurs fichiers, j'accepte donc la liste des mots-clés à rechercher dans l'argument de la ligne de commande, c'est-à-dire String[] args, et je souhaite y stocker des valeurs dans un objet ArrayList.

J'ai le nom de la classe principale : CharSearchTool , Une autre classe dans le même package : ArrayListFromParameters

package com.charsearchtool;

public class CharSearchTool {
    public static void main(String[] args) {
        ArrayListFromParameters arrayList = new ArrayListFromParameters(args);
        System.out.println(arrayList.list);
    }
}




package com.charsearchtool;

import java.util.ArrayList;

public class ArrayListFromParameters {
    ArrayList<String> list = new ArrayList<String>();

    public ArrayList<String> ArrayListFromParameters(String[] argument) {
        for (int i = 0; i < argument.length; i++) {
            list.add(argument[i]);
        }
        return (list);
    }
}

J'obtiens une erreur sur la ligne ci-dessous :

ArrayListFromParameters arrayList = new ArrayListFromParameters(args);

Erreur : le constructeur ArrayListParameters(String[]) n'est pas défini.

Manish Jindal

Vous avez mentionné le type de retour du constructeur.

Tu peux écrire-

public ArrayListFromParameters(String[] argument) { for (int i = 0; i < argument.length; i++) { list.add(argument[i]); }  }

Et cela fonctionnera.

Articles connexes