Java 如何使用String.format()

Java 如何使用String.format(),java,android,string,Java,Android,String,我有一个RecyclerView适配器类,它显示了来自(从服务器获取数据的用户类)的用户信息。我的上级告诉我:你的代码有问题,你应该找出原因,他说我应该使用String.format(),他还说:(如果else不是一个好的解决方案,那么如果有100个用户而不是10个呢?或者如果每天都添加新用户,你应该优化你的代码,最后,他说在其中查找String.format和%d) 该应用程序工作正常,但我不明白他到底想做什么,我试图在互联网上找到解决方案,但我没有。我需要你的帮助,请 我的适配器类: pub

我有一个RecyclerView适配器类,它显示了来自(从服务器获取数据的用户类)的用户信息。我的上级告诉我:你的代码有问题,你应该找出原因,他说我应该使用String.format(),他还说:(如果else不是一个好的解决方案,那么如果有100个用户而不是10个呢?或者如果每天都添加新用户,你应该优化你的代码,最后,他说在其中查找String.format和%d)

该应用程序工作正常,但我不明白他到底想做什么,我试图在互联网上找到解决方案,但我没有。我需要你的帮助,请

我的适配器类:

public class UserAdapter extends RecyclerView.Adapter<UserAdapter.UserViewHolder> {
    private List<User> userList;
    private Context context;
    private OnItemClickListener listener;

    public UserAdapter(List<User> userList, Context context) {
        this.userList = userList;
        this.context = context;
    }

    @NonNull
    @Override
    public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.users_layout, parent, false);
        return new UserViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull UserViewHolder holder, int position) {
        User user = userList.get(position);
        if (user != null) {
            holder.imageView.setAnimation(AnimationUtils.loadAnimation
                    (context, R.anim.fade_transition_anim));
            holder.linearLayout.setAnimation(AnimationUtils.loadAnimation
                    (context, R.anim.fade_scale_animation));
            holder.txtName.setText(user.getName());
            holder.txtEmail.setText(user.getEmail());
            holder.txtInfo.setText(user.getCompany().getCatchPhrase());

            switch (user.getId()) {
                case 1:
                    Glide.with(context).load("https://avatars.io/twitter/1").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 2:
                    Glide.with(context).load("https://avatars.io/twitter/2").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 3:
                    Glide.with(context).load("https://avatars.io/twitter/3").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 4:
                    Glide.with(context).load("https://avatars.io/twitter/4").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 5:
                    Glide.with(context).load("https://avatars.io/twitter/5").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 6:
                    Glide.with(context).load("https://avatars.io/twitter/6").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 7:
                    Glide.with(context).load("https://avatars.io/twitter/7").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 8:
                    Glide.with(context).load("https://avatars.io/twitter/8").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 9:
                    Glide.with(context).load("https://avatars.io/twitter/9").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                case 10:
                    Glide.with(context).load("https://avatars.io/twitter/10").placeholder(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
                default:
                    Glide.with(context).load(R.drawable.default_128)
                            .into(holder.imageView);
                    break;
            }
        }
    }

    @Override
    public int getItemCount() {
        int a;
        if (userList != null && !userList.isEmpty()) {
            a = userList.size();
        } else {
            a = 0;
        }
        return a;
    }

    public class UserViewHolder extends RecyclerView.ViewHolder {
        private CircleImageView imageView;
        private TextView txtName, txtEmail, txtInfo;
        private LinearLayout linearLayout;

        public UserViewHolder(@NonNull View itemView) {
            super(itemView);
            imageView = itemView.findViewById(R.id.img_user);
            txtName = itemView.findViewById(R.id.txt_user_name);
            txtEmail = itemView.findViewById(R.id.txt_user_email);
            txtInfo = itemView.findViewById(R.id.txt_user_info);
            linearLayout = itemView.findViewById(R.id.anim_container);

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (listener != null) {
                        int position = getAdapterPosition();
                        if (position != RecyclerView.NO_POSITION) {
                            listener.OnItemClick(position);
                        }
                    }
                }
            });
        }
    }

    public interface OnItemClickListener {
        void OnItemClick(int position);
    }

    public void setOnItemClickListener(OnItemClickListener listener) {
        this.listener = listener;
    }
}
公共类UserAdapter扩展了RecyclerView.Adapter{ 私有列表用户列表; 私人语境; 私人监听; 公共用户适配器(列表用户列表、上下文){ this.userList=userList; this.context=上下文; } @非空 @凌驾 public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType){ View-View=LayoutInflater.from(parent.getContext()).flate(R.layout.users\u布局,parent,false); 返回新的UserViewHolder(视图); } @凌驾 public void onBindViewHolder(@NonNull UserViewHolder,int位置){ User=userList.get(位置); 如果(用户!=null){ holder.imageView.setAnimation(AnimationUtils.loadAnimation (上下文,R.anim.fade_transition_anim)); holder.linearLayout.setAnimation(AnimationUtils.loadAnimation (上下文,R.anim.fade_scale_animation)); holder.txtName.setText(user.getName()); holder.txtEmail.setText(user.getEmail()); holder.txtInfo.setText(user.getCompany().getCatchPhrase()); 开关(user.getId()){ 案例1: Glide.with(context.load)(“https://avatars.io/twitter/1)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例2: Glide.with(context.load)(“https://avatars.io/twitter/2)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例3: Glide.with(context.load)(“https://avatars.io/twitter/3)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例4: Glide.with(context.load)(“https://avatars.io/twitter/4)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例5: Glide.with(context.load)(“https://avatars.io/twitter/5)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例6: Glide.with(context.load)(“https://avatars.io/twitter/6)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例7: Glide.with(context.load)(“https://avatars.io/twitter/7)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例8: Glide.with(context.load)(“https://avatars.io/twitter/8)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例9: Glide.with(context.load)(“https://avatars.io/twitter/9)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 案例10: Glide.with(context.load)(“https://avatars.io/twitter/10)占位符(R.drawable.default_128) .插入(支架.图像视图); 打破 违约: Glide.with(context.load)(R.drawable.default_128) .插入(支架.图像视图); 打破 } } } @凌驾 public int getItemCount(){ INTA; if(userList!=null&&!userList.isEmpty()){ a=userList.size(); }否则{ a=0; } 返回a; } 公共类UserViewHolder扩展了RecyclerView.ViewHolder{ 私有CircleImageView图像视图; 私有文本视图txtName、txtmail、txtInfo; 私人线性布局线性布局; public UserViewHolder(@NonNull View itemView){ 超级(项目视图); imageView=itemView.findViewById(R.id.img_用户); txtName=itemView.findviewbyd(R.id.txt\u用户名); txtEmail=itemView.findviewbyd(R.id.txt\u user\u email); txtInfo=itemView.findviewbyd(R.id.txt\u user\u info); linearLayout=itemView.findviewbyd(R.id.anim_容器); itemView.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ if(侦听器!=null){ int position=getAdapterPosition(); 如果(位置!=RecyclerView.无位置){ listener.OnItemClick(位置); } } } }); } } 公共接口侦听器{ 无效单击(内部位置); } 公共void setOnItemClickListener(OnItemClickListener侦听器){ this.listener=listener; } }
你的上级告诉你的是:

case 1:
    Glide.with(context).load("https://avatars.io/twitter/1")
这简直是疯了

意思:你们所有的开关箱都是一样的。唯一不同的是数量不同

这样的重复
Glide.with(context).load(String.format("https://avatars.io/twitter/%i", theNumber), ...