对返回集合的一些操作,如index,size等方法

本文介绍了使用jQuery进行DOM元素的选择及操作的一些实用技巧,包括获取元素数量、定位特定类的元素索引以及合并文本节点等内容,并指出不同浏览器在处理空文本节点上的差异。

(1)

$("ul li").size(  )等价于$("ul li").length,都返回集合元素的个数 

(2)

$("ul li.m").index(  )返回class值为m的li的索引值。

(3)

$("ul li").text(  )注意这里是将每个li的text值合并在一起,所以结果是个字符串类型,但要注意如果代码中有空行的话,ie和FF的处理不太一样,如:

<ul>

    <li>1</li>

    <li>2</li>
    <li>3</li>

</ul>

FF返回“123”,而IE返回“ 1 2 3 ”,它会把空行也当成文本(空文本)。


### **完善逻辑:处理 `offset > size` 的情况** #### **最终安全切割方案** ```java public <T> List<T> safeSubList(List<T> list, int offset, int pageSize) { // 防御性校验:空列表、无效分页参数 if (list == null || list.isEmpty() || pageSize <= 0 || offset >= list.size()) { return Collections.emptyList(); } // 计算安全边界 int fromIndex = Math.max(0, offset); int toIndex = Math.min(offset + pageSize, list.size()); return list.subList(fromIndex, toIndex); } ``` #### **关键改进点** 1. **显式处理 `offset >= size`** - 直接返回集合,避免无意义的计算。 2. **参数优先级优化** - 先检查 `offset` 是否越界,再计算 `toIndex`,提升无效请求的响应速度。 --- ### **逻辑验证** | 场景描述 | 输入 (`offset`, `pageSize`, `list.size()`) | 输出子集范围 | |---------------------------|--------------------------------------------|--------------| | `offset` 超过列表大小 | `15`, `5`, `10` | `[]` | | `offset` 等于列表大小 | `10`, `5`, `10` | `[]` | | 正常分页 | `2`, `5`, `10` | `[2, 7)` | | 其他边界情况 | 同前文测试用例 | 同前文 | --- ### **为什么这样设计?** 1. **符合业务直觉** - 用户请求“第100页的数据”(但总数据只有10条),理应返回空。 2. **节省资源** - 无需遍历或合并数据,直接快速失败。 3. **代码一致性** - 与 `offset` 为负数时的处理逻辑对称(均返回集合)。 --- ### **扩展场景** 若业务需要区分“无效参数”和“无数据”,可返回特殊对象: ```java public class PaginationResult<T> { private boolean invalidRequest; // 标记参数是否非法 private List<T> data; // getters/setters } ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值