我正在创建一个应用程序,每个用户都有各自的个人资料。这些配置文件存储在ArrayList
. 我在创建一种方法来搜索已注册或存在于ArrayList
其中的用户时遇到问题,我必须使用 2 个参数Nombre
和Apellido
.
我有以下课程:
import java.util.*;
public class Profilo {
static String Nombre;
static String Apellido;
String Intereses;
boolean visible;
//contructor
public Profilo(String nombre, String apellido,String intereses,
boolean visibilidad) {
this.Nombre= nombre;
this.Apellido= apellido;
this.Intereses= intereses;
this.visible = visibilidad;
}
public String getNombre() {
return this.Nome;
}
public String getApellido() {
return this.Cognome;
}
另一个类将包含登录、注册和搜索用户的方法:
import java.util.ArrayList;
import java.util.Scanner;
public class PerfilManager {
static ArrayList<Profilo> Users = new ArrayList();
static Scanner sc = new Scanner(System.in);
public static void Login() {
//codigo
}
public static void Registrarse() {
//codigo
}
public static void InizializaDati(){
String nombre;
String apellido;
String intereses;
boolean visibile;
System.out.println("nombre:");
nombre= sc.next();
System.out.println("apellido:");
apellido = sc.next();
System.out.println("intereses:");
intereses= sc.next();
System.out.println("visible?(true/false)");
visibile = sc.nextBoolean();
Perfil perfil= new Perfil(nombre,apellido,intereses,visibile);
Users.add(perfil);
System.out.println("peril creado!");
ShowPerfil();
}
public static void BuscaPerfil(String nome , String cognome) {
for(int i = 0 ; i < Users.size();i++) {
if(Users.get(i).visibile != false) {
//muestra perfil
} else {
System.out.println("Este perfil es privado");
}
}
}
}
搜索列表的最佳方法
List
是遍历其元素并执行搜索:我更改了方法,使其返回一个
Profilo
. 这样,方法的客户端,也就是使用方法的地方,就可以用方法的结果来执行具体的动作。动作可以是:在屏幕上显示对象的数据,将其用于大量数据更新过程,将对象用作另一个对象的一部分等。从 Java 8 开始,搜索方法可以简化为以下几种:
改进当前代码的提示(不是问题中所述主要问题的一部分)。
在 Java 中,静态成员(属性和方法)属于类而不属于类实例(对象)。如果您将属性声明为静态,因为该属性属于类而不属于对象,那么通过为该属性分配一个值,该值将由该类的所有实例共享。因此,在您的类
Profilo
中,字段不能是静态的。除此之外,所有字段都应该至少有它们的 getter 方法。该类
Profilo
应如下所示:由于
Users
它是一个ArrayList
对象profilo
,您可以通过以下方式获取值: