package com.zueb.runningerrands.pojo; import java.util.ArrayList; import java.util.List; /** * Created by ccwant on 2023-3-6. */ public class UserSet { public List<User> users = new ArrayList<>(); public UserSet() { } public User put(String username) { return new User(username); } public User getUser(int position) { return users.get(position); } public User getUser(String username) { for (User user : users) { if (user.username.equals(username)) { return user; } } return null; } public final class User { public String username; public List<Set> list = new ArrayList<>(); private User(String username) { this.username = username; } public User set(String username, int score) { this.list.add(new Set(username, score)); return this; } public void create() { users.add(this); } public Set find(String username) { for (Set set : list) { if (set.username.equals(username)) { return set; } } return null; } @Override public String toString() { return "User{" + "username='" + username + '\'' + '}'; } } public final class Set implements Comparable<Set> { public String username; public int score; public Set(String username, int score) { this.username = username; this.score = score; } @Override public String toString() { return "Set{" + "username='" + username + '\'' + ", score=" + score + '}'; } @Override public int compareTo(Set o) { return score > o.score ? -1 : 1; } } }
时间: 2023-03-28 19:03:40 浏览: 131
这是一个 Java 类,用于管理用户和他们的得分记录。它包含一个 User 类和一个 Set 类,以及一个 UserSet 类,用于管理用户和他们的得分记录。你可以使用 UserSet 类来创建用户、添加得分记录、查找用户和得分记录等操作。
相关问题
解释下面一段代码package com.wxh.controller; import com.wxh.pojo.User; import com.wxh.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpSession; import java.util.ArrayList; import java.util.List; @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService service; @GetMapping("/list") public String getUser(Model model) { List<User> users = service.findAllUser(); model.addAttribute("users", users); return "/user/list"; } @DeleteMapping("/{id}") public String deleteById(@PathVariable("id") Integer id) { service.deleteById(id); return "redirect:/user/list"; } @GetMapping("/toModify/{id}") public String toModify(@PathVariable("id") Integer id, Model model) { User user = service.getUserById(id); model.addAttribute("user", user); return "/user/modify"; } @PutMapping public String modify(User user) { service.modify(user); return "redirect:/user/list"; } @RequestMapping("/toAdd") public String toAdd() { return "/user/add"; } @PostMapping("/add") public String add(User user) { service.add(user); return "redirect:/user/list"; } @RequestMapping("/By") public String findBy(String username, String gender, Model model) { User user = service.findById(username, gender); List<User> users = new ArrayList<>(); users.add(user); model.addAttribute("users", users); return "user/list"; } }
这段代码定义了一个名为UserController的Spring MVC控制器类,该类使用@RequestMapping注解标记了"/user"路径。在类上,@Controller注解用于将该类声明为控制器类,@RequestMapping("/user")注解用于指定控制器的根路径。该类还使用了@Autowired注解来自动装配一个名为UserService的服务类。
该类中有以下方法:
- getUser()方法使用@GetMapping注解标记,用于处理GET请求,从数据库中获取所有用户信息并返回到名为"user/list"的视图。
- deleteById()方法使用@DeleteMapping注解标记,用于处理DELETE请求,根据给定的id从数据库中删除用户信息,并重定向到"/user/list"路径。
- toModify()方法使用@GetMapping注解标记,用于处理GET请求,根据给定的id从数据库中获取用户信息,并将其传递到名为"user/modify"的视图。
- modify()方法使用@PutMapping注解标记,用于处理PUT请求,接收一个User对象并将其更新到数据库中。
- toAdd()方法使用@RequestMapping注解标记,用于处理GET请求,返回名为"user/add"的视图。
- add()方法使用@PostMapping注解标记,用于处理POST请求,接收一个User对象并将其添加到数据库中。
- findBy()方法使用@RequestMapping注解标记,用于处理GET请求,根据给定的用户名和性别在数据库中查找用户信息,将其传递到名为"user/list"的视图。
此外,该类还使用了Model参数和@RequestParam注解来处理请求参数和响应数据,使用了@PathVariable注解来获取URL路径参数,使用了List集合来存储多个用户信息。
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.ArrayList<com.nari.climbing.notice.domain.pojo.NoticeGroupMembers>` from Object value (token `JsonToken.START_OBJECT`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<com.nari.climbing.notice.domain.pojo.NoticeGroupMembers>` from Object value (token `JsonToken.START_OBJECT`) at [Source: (PushbackInputStream); line: 1, column: 1]
这个错误通常是因为您在反序列化 JSON 时,JSON 字符串的格式与您的 Java 对象不匹配所导致的。具体来说,您的 JSON 字符串中包含的数据类型与您的 Java 对象中定义的数据类型不匹配。
在您的情况下,JSON 字符串中的数据类型应该是一个对象,而您的 Java 对象却是一个 ArrayList。您需要检查您的代码,确保您正在反序列化正确的 JSON 字符串,并且将其转换为正确的 Java 对象类型。如果您需要更具体的帮助,请提供更多上下文或代码。
阅读全文