java限制存进集合的内容
时间: 2023-10-19 17:26:19 浏览: 49
Java可以通过泛型来限制存进集合的内容类型。在定义集合对象时,可以使用尖括号<>来指定集合中存储的元素类型。例如,定义一个只能存储字符串的List集合对象可以这样写:
```
List<String> list = new ArrayList<>();
```
这样,如果尝试将其他类型的对象存储到这个集合中,编译器就会报错。这种方式可以有效地避免类型转换错误和运行时异常。
相关问题
java集合中存人类
Java集合中可以使用List、Set、Map等容器来存储人类对象。例如,可以定义一个Person类,然后使用List来存储多个Person对象:
```
public class Person {
private String name;
private int age;
// 省略构造方法和getter/setter方法
}
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice", 20));
personList.add(new Person("Bob", 25));
```
这样就可以将多个Person对象存储在personList中了。
java中list集合怎么存数据库
要将Java中的List集合存储到数据库中,需要先将List转换为字符串或者字节数组。常见的做法是使用Json库将List转换为Json字符串,然后将Json字符串存储到数据库的text类型字段中。
以下是一个使用Jackson库将Java中的List转换为Json字符串,并将Json字符串存储到MySQL数据库的代码示例:
```java
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> myList = new ArrayList<>();
myList.add("apple");
myList.add("banana");
myList.add("orange");
ObjectMapper mapper = new ObjectMapper();
try {
String jsonString = mapper.writeValueAsString(myList);
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
String insertSql = "INSERT INTO mytable (list_data) VALUES (?)";
PreparedStatement statement = connection.prepareStatement(insertSql);
statement.setString(1, jsonString);
statement.executeUpdate();
statement.close();
connection.close();
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先创建了一个String类型的List集合,然后使用Jackson库将List转换为Json字符串。接下来,我们使用JDBC连接到MySQL数据库,并将Json字符串插入到名为mytable的表中的list_data列中。需要注意的是,在执行插入操作之前,需要将Json字符串作为PreparedStatement的参数传递,并调用executeUpdate方法来执行插入操作。
当然,如果您的List集合中存储的是自定义对象,您需要自行实现对象转Json字符串的方法。