开发避坑指南(72):HttpHeaders 的add()方法和set()方法有什么区别?

问题

springframework中的HttpHeaders 的add()方法和set()方法有什区别?

解答

add()方法用于向指定头字段添加新值,不会覆盖该字段已有的值。这使得同一个头字段可以拥有多个不同的值。

set()方法则用于设置头字段的值,如果该字段已存在,则会用新值覆盖原有的值。这种方法适用于需要确保头字段只有单一值的场景。

java 复制代码
httpGet.add("Cookie", "aa");
httpGet.add("Cookie", "bb");

上述代码最终会保留两个Cookie头字段,值分别为"aa"和"bb"。

java 复制代码
httpGet.set("Cookie", "cc");

set()则会覆盖之前所有的Cookie值,最终只有一个值为"cc"的Cookie头字段。

相关推荐
短剑重铸之日1 天前
《ShardingSphere解读》07 读写分离:如何集成分库分表+数据库主从架构?
java·数据库·后端·架构·shardingsphere·分库分表
知我Deja_Vu1 天前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
daidaidaiyu1 天前
Spring IOC 源码学习 事务相关的 BeanDefinition 解析过程 (XML)
java·spring
鬼蛟1 天前
Spring————事务
android·java·spring
西门吹-禅1 天前
【sap fiori cds up error】
java·服务器·sap cap cds
敲代码的嘎仔1 天前
Java后端面试——SSM框架面试题
java·面试·职场和发展·mybatis·ssm·springboot·八股
NGC_66111 天前
Spring与SpringBoot
spring
大傻^1 天前
Spring AI Alibaba RAG实战:基于向量存储的检索增强生成
java·人工智能·spring
大傻^1 天前
Spring AI Alibaba 快速入门:基于通义千问的AI应用开发环境搭建
java·人工智能·后端·spring·springai·springaialibaba
伯恩bourne1 天前
Google Guava:Java 核心工具库的卓越之选
java·开发语言·guava