java定义全局集合
时间: 2023-12-06 17:35:48 浏览: 24
Java中可以使用静态变量来定义全局集合,静态变量属于类,不属于对象,因此可以在任何地方访问。以下是一个例子:
```java
import java.util.ArrayList;
public class GlobalCollection {
public static ArrayList<String> globalList = new ArrayList<String>();
}
```
在上面的例子中,我们定义了一个名为`globalList`的静态变量,它是一个`ArrayList`类型的集合。我们可以在程序的任何地方访问和修改这个集合,例如:
```java
GlobalCollection.globalList.add("hello");
GlobalCollection.globalList.add("world");
System.out.println(GlobalCollection.globalList);
```
输出结果为:`[hello, world]`
相关问题
mybatisplus存取list集合
在MyBatis Plus中存取List集合可以通过自定义类型处理器来实现。下面是一个示例演示如何在MyBatis Plus中存取List集合:
1. 创建自定义类型处理器
```java
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
public class ListTypeHandler extends BaseTypeHandler<List> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) throws SQLException {
// 将List转换成字符串,存储到数据库中
String listStr = String.join(",", parameter);
ps.setString(i, listStr);
}
@Override
public List getNullableResult(ResultSet rs, String columnName) throws SQLException {
// 从数据库中取出字符串,转换成List集合
String listStr = rs.getString(columnName);
return Arrays.asList(listStr.split(","));
}
@Override
public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String listStr = rs.getString(columnIndex);
return Arrays.asList(listStr.split(","));
}
@Override
public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String listStr = cs.getString(columnIndex);
return Arrays.asList(listStr.split(","));
}
}
```
2. 在MyBatis Plus的全局配置文件中配置自定义类型处理器
```xml
<configuration>
<typeHandlers>
<typeHandler handler="com.example.ListTypeHandler"/>
</typeHandlers>
</configuration>
```
3. 在实体类中使用List集合
```java
public class User {
private Long id;
private String name;
private List<String> hobbies;
// 省略getter和setter方法
}
```
4. 在Mapper接口中定义查询方法
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectByHobbies(List<String> hobbies);
}
```
5. 在Mapper XML文件中编写查询语句
```xml
<select id="selectByHobbies" resultType="com.example.User">
SELECT * FROM user WHERE hobby IN
<foreach collection="hobbies" item="hobby" open="(" separator="," close=")">
#{hobby}
</foreach>
</select>
```
通过以上步骤,就可以在MyBatis Plus中存取List集合了。
java 代码优化技巧
Java代码优化是一个比较大的话题,它里面可以优化的点非常多。以下是一些常见的Java代码优化技巧:
1. 尽量使用局部变量而不是全局变量。
2. 避免使用过多的循环和递归。
3. 使用StringBuilder代替String进行字符串拼接。
4. 尽量使用基本数据类型而不是包装类。
5. 使用try-with-resources语句来自动关闭资源。
6. 使用多线程来提高程序的性能。
7. 避免使用过多的同步锁。
8. 使用缓存来提高程序的性能。
9. 尽量使用final关键字来定义常量。
10. 避免使用反射和动态代理。
11. 使用枚举来消除if...else过多问题。
12. 将固定值定义成静态常量。
13. 避免方法过长。
14. 使用Lambda表达式来简化代码。
15. 使用Stream API来处理集合数据。
16. 避免使用异常来控制程序流程。
17. 使用位运算来代替乘除法运算。
18. 使用快速失败机制来提高程序的健壮性。
19. 避免使用全局变量和单例模式。
20. 使用线程池来提高程序的性能。
21. 避免使用过多的嵌套循环。
22. 使用注解来简化代码。
23. 避免使用过多的字符串拼接。
24. 使用缓存来提高程序的性能。
25. 避免使用过多的递归。
26. 使用StringBuilder代替StringBuffer进行字符串拼接。
27. 避免使用过多的静态变量。
28. 使用局部变量来代替全局变量。
29. 避免使用过多的if...else语句。
30. 使用多态来简化代码。