java.util.ArrayList.contains(Object) method

描述


The java.util.ArrayList.contains(Object) method returns true if this list contains the specified element.


声明


Following is the declaration for java.util.ArrayList.contains() method


public boolean contains(Object o)
参数


o -- The element whose presence in this list is to be tested.


返回值


This method returns true if this list contains the specified element.


异常


NA




 
实例一编辑+分享实例
以下例子将告诉你如何使用 java.util.Arraylist.contains method.


package yiibai.com;


import java.util.ArrayList;


public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list with an initial capacity
      ArrayList<Integer> arrlist = new ArrayList<Integer<(8);


      // use add() method to add elements in the list
      arrlist.add(20);
      arrlist.add(25);
      arrlist.add(10);
      arrlist.add(15);        
       
      // let us print all the elements available in list
      for (Integer number : arrlist) {
         System.out.println("Number = " + number);
       }


      // list contains element 10
      boolean retval = arrlist.contains(10); 
 
      if (retval == true) {
        System.out.println("element 10 is contained in the list");
       }
      else {
        System.out.println("element 10 is not contained in the list");
       }

      // list does not contain element 30
      boolean retval2 = arrlist.contains(30);
 
      if (retval2 == true) {
        System.out.println("element 30 is contained in the list");
       }
      else {
        System.out.println("element 30 is not contained in the list");    
       }
   }
}
编译和执行以上程序,将得到以下的结果:


Number = 20
Number = 25
Number = 10
Number = 15
element 10 is contained in the list
element 30 is not contained in the list
package com.ruoyi.framework.aspectj; import com.ruoyi.common.core.domain.BaseEntity; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import com.ruoyi.common.annotation.OrderHandler; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @Aspect @Component public class OrderHandlerAspect { private static final Logger log = LoggerFactory.getLogger(OrderHandlerAspect.class); @Pointcut("@annotation(orderHandler)") public void OrderHandlerPointcut(OrderHandler orderHandler) { // Pointcut 表达式 } @Before("@annotation(orderHandler)") public void beforeOrderHandler(JoinPoint joinPoint, OrderHandler orderHandler) { Object[] args = joinPoint.getArgs(); String tableName = orderHandler.tableName(); for (Object arg : args) { if (arg instanceof BaseEntity) { BaseEntity baseEntity = (BaseEntity) arg; String ordersStr = baseEntity.getOrders(); String propsStr = baseEntity.getProps(); // 如果 `orders` 或 `props` 为空,则不进行排序 if (ordersStr == null || propsStr == null || ordersStr.trim().isEmpty() || propsStr.trim().isEmpty()) { baseEntity.setOrderByClause(""); return; } List<String> orders = Arrays.asList(ordersStr.split(",")); List<String> props = Arrays.asList(propsStr.split(",")); if (props.size() != orders.size()) { throw new IllegalArgumentException("筛选条件长度不匹配"); } StringBuilder orderByClause = new StringBuilder("ORDER BY "); for (int i = 0; i < props.size(); i++) { String prop = props.get(i).trim(); String order = orders.get(i).trim().toUpperCase(); if (!("ASC".equals(order) || "DESC".equals(order))) { throw new IllegalArgumentException("Invalid sort order: " + order); } prop = camelToSnake(prop); // 拼接 SQL if (tableName != null && !tableName.trim().isEmpty()) { orderByClause.append(tableName).append(".").append(prop); } else { orderByClause.append(prop); } orderByClause.append(" ").append(order); if (i < props.size() - 1) { orderByClause.append(", "); } } // 设置到 `BaseEntity` baseEntity.setOrderByClause(orderByClause.toString()); } } } /** * 将驼峰命名(camelCase)转换为下划线命名(snake_case) */ private String camelToSnake(String camelCase) { if (camelCase == null || camelCase.isEmpty()) { return camelCase; } return camelCase.replaceAll("([a-z])([A-Z])", "$1_$2").toLowerCase(); } } 在其中添加ALLOWED_COLUMNS部分,并且进行错误异常的处理部分 参考以下 // **动态获取实体类字段名** Set<String> allowedColumns = getEntityFields(entityClass); // **确保字段在实体类中存在** if (!allowedColumns.contains(prop)) { throw new IllegalArgumentException("非法排序字段: " + prop); } arg中包含所有的实体类的属性字段
最新发布
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等风来不如迎风去

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值