`

map 取值类型和string的==问题

    博客分类:
  • java
 
阅读更多

今天遇到一个问题

Map param = new HashMap();
		param.put("need_apply", "0");
		param.put("need_apply1", 0);
		
		//if(param.get("need_apply1")=="0");
		System.out.println(param.get("need_apply")=="0");//true
		System.out.println(param.get("need_apply1")=="0");//false

 在map里存储值时,一般不会限定int、string等类型,但是从map里取值时需要进行类型的强转

如果用于判断的时候,一般可以不用类型强转,一般会记忆存储时的类型,但是不建议这么用,一般的用法是先强转然后再进行判断

另外,string一般不会用==,主要是如果是个变量的话,可以使用==直接判断值,但是如果是new的对象,==一般比较的是new对象的地址,不是对象的实际存储值,所以一般使用equals

所以正确的用法是

boolean flag = "0".equals(String.valueOf(param.get("need_apply")));

 此外:

今天遇到一个问题:存数字到map时存入的是string,取数据时不能使用强转,

IntegerparamList.get(0).get("domain_id")   ---错误

Integer.parseInt(paramList.get(0).get("domain_id")+"") --- 正确

分享到:
评论

相关推荐

    json字符串转成 Map/List

    List<Map<String, Object>> list = gson.fromJson(jsonString, new TypeToken<List<Map<String, Object>>>(){}.getType()); ``` 2. Jackson库: Jackson是另一个流行的JSON处理库,提供了`ObjectMapper`类来实现...

    Java读取json文件,并转化为map取值

    对于Map取值,你可以使用`get`方法: ```java String key = "exampleKey"; Object value = jsonData.get(key); ``` 如果值是另一个JSON对象或数组,你需要再次进行类型转换。例如,如果`value`是一个`Map`,你可以...

    Go-go有序map用于json输出有序key的对象和后端有序循环map取值

    3. **后端有序循环map取值**: - 有序map在后端处理时,可以方便地进行有序遍历,例如在循环中按顺序访问key。这在处理一些需要按照特定顺序执行的操作时非常有用,比如迭代处理数据、渲染模板等。 ```go for _, ...

    嵌套Map或者List获取key、value值

    在编程中,尤其是在Java或类似的面向对象语言中,我们经常遇到需要处理复杂数据结构的情况,如嵌套的Map和List。这些数据结构可以提供灵活的方式来存储和操作数据,特别是当数据具有层次关系时。本篇将详细介绍如何...

    使用Java反射机制将Map转换为Java对象,支持Boolean、Date类型

    其他类型则直接从Map中取值并设置。注意,这个函数只处理了声明在类自身(不包括继承的字段)的字段,如果需要处理继承的字段,需要结合`getFields()`方法。 通过这种方式,我们可以灵活地将Map转换为任意Java对象...

    freemaker 简单实现

    Map<String, Object> model = new HashMap(); model.put("name", "John Doe"); model.put("age", 30); ``` 4. **加载并处理模板**:使用配置对象的`getTemplate()`方法加载模板文件,然后使用`process()`方法...

    C++ Map常见用法说明1

    Map 中元素取值主要有 `at` 和 `[]` 两种操作,`at` 会作下标检查,而 `[]` 不会。例如 `map, string> ID_Name;` 使用 `[]` 取值会导致插入,而使用 `at` 会进行关键字检查。 容量查询 Map 提供了多种容量查询方式...

    jstl之map,list访问遍历以及el表达式map取值的实现

    本篇文档详细介绍了如何在JSTL中遍历Map和List,并通过EL表达式访问和取值。 首先,让我们了解一下JSTL的基本概念。JSTL定义了几种标签库,如核心标签库、格式化标签库、SQL标签库和XML标签库。核心标签库是最常用...

    重要知识java中map集合的用法.pdf

    Map 集合是 Java 中一种非常常用的数据结构,了解 Map 集合的用法、Map 接口和方法、Map 的实现类、Map 的遍历和优化等方面的知识点,可以帮助开发者更好地使用 Map 集合,提高应用程序的性能和效率。

    EL表达式在前后台的取值赋值问题

    ### EL表达式在前后台的取值赋值问题详解 #### 一、EL表达式概述 EL(Expression Language)表达式是一种简洁的方式,用于获取JavaBean属性或执行简单运算。在JSP页面中,它提供了从请求作用域、会话作用域、应用...

    cpp代码-map用法详解

    `map`容器可以通过声明不同类型的键和值来创建。例如,一个存储字符串作为键和整数作为值的`map`可以这样声明: ```cpp std::map<std::string, int> myMap; ``` 初始化`map`时,可以使用初始值列表: ```cpp ...

    Dom4j工具类

    * 如果会用到多个值,可使用此方法获得一个map,然后根据键值对取值,会使程序性能更好一些 * 如果只会用的map中的一个值,则可调用此方法下面的方法 * @param xml * @return */ public static void ...

    Struts2 ——4、struts2从请求取值的三种方式

    Map<String, Object> parameters = context.getParameters(); String name = (String) parameters.get("name"); // ... } } ``` 这种方式简洁明了,但不适用于处理复杂的参数逻辑。 2. **ValueStack(值栈)...

    hive数据类型共6页.pdf.zip

    - **MAP,V>**:映射类型,其中 K 和 V 分别是基本或复杂数据类型,表示键值对集合。 - **STRUCT, field2:type2, ...>**:结构类型,表示一系列命名字段,每个字段都有自己的数据类型。 - **UNIONTYPE, T2, ..., ...

    Go语言基础(变量和基本类型).zip

    Go语言,也称为Golang,是由...理解这些概念将为你进一步学习Go语言的高级特性,如并发、反射和类型系统,奠定坚实的基础。在实践中,熟练掌握变量的声明、类型转换和基本类型的应用,将极大地提升你的Go语言编程能力。

    C++ 数据类型详解

    这些类型的字节数和数值范围可能因不同的操作系统和编译器而异,但通常,短整型为2字节,整型和长整型为4字节,对应的无符号类型取值范围从0到2的字节数次方减1。C++11引入了长长整型(long long int或signed long ...

    freemarker介绍

    Map取值 在Freemarker中,可以通过简单的语法从Map中获取值。例如,如果在后端代码中创建了一个`Map, String>`类型变量,并向其中添加了键值对,那么在模板中可以通过以下方式取值: - **直接访问键**:`${(map....

    Java 面试中有关数据类型常见的 50 个面试题.pdf

    - `String` 类型在 Java 中是一个不可变的对象,一旦创建后其内容就不能被改变。 - **常用方法**: - `charAt(int index)`:返回指定索引处的字符。 - `length()`:返回字符串的长度。 - `substring(int ...

    SpringMVC中Model和ModelAndView的EL表达式取值方法

    Map<String, Object> map = new HashMap(); User user1 = new User(); user1.setName("YYY"); map.put("user", user1); ModelAndView mav = new ModelAndView(); mav.addObject(map); mav.setViewName(...

    sql 50条基于阿里云dataworks,结果及脚本

    每种数据类型都有其特点和取值范围,例如 BIGINT 类型的取值范围为 -2^63+1~2^63-1,DOUBLE 类型的取值范围为 10 进制精确数字等。 2. 复杂数据类型: 阿里云 DataWorks 还支持复杂数据类型,包括数组、映射、...

Global site tag (gtag.js) - Google Analytics