`

Properties 使用的一个陷阱

    博客分类:
  • java
阅读更多

通常我们都会采用java.util.Properties来保存配置,它可以从文件中读取配置,非常方便。有时我们通过自己的config文件获取配置,希望通过Properties来存取配置并进行传递。

properties保存配置有两种方式,一种是put,另一个是setProperty()。如果我们通过put放置一个int对象的时候,通过getProperty()就不能获取到!

原来properties是从hashmap继承过来的,因此put可以放置任何的对象。但是property的实际使用要求key and value都是string,因此使用put没有强制检查,就会发生错误。正确的方法是使用setProperty(),保证参数的存取正确。

分享到:
评论

相关推荐

    SNMP4J实例(简单易学的资料)

    在上述代码中,用`mib.properties`文件模拟了一个简单的MIB。 在SNMP4J中,我们可以通过以下步骤使用Java代码与SNMP代理进行通信: 1. **初始化通信**:在`initComm()`方法中,我们创建一个`TransportMapping`实例...

    Protege新手入门(入门篇+进阶篇+推理篇+使用笔记)

    本指南旨在为初学者提供一个全面的Protege学习路径,涵盖从基础到高级的各个阶段,包括入门篇、进阶篇、推理篇以及使用笔记。 ### 入门篇 1. **安装与启动**: 首先,你需要下载适合你操作系统的Protege版本,并...

    C系列:Eclipse搭配C开发工作环境

    为了高效地进行C语言开发,一个良好的集成开发环境(IDE)是必不可少的。Eclipse,最初是Java IDE,后来发展为支持多种语言,包括C/C++,是开发者常用的工具之一。本文将详细介绍如何配置Eclipse以适应C语言开发,并...

    新Hibernate SessionFactory().getCurrentSession()猫腻

    标题中的“新Hibernate SessionFactory().getCurrentSession()猫腻”指的是在使用Hibernate ORM框架时,一个常见但不为人熟知的细节,即SessionFactory().getCurrentSession()方法的使用。在深入讲解这个知识点之前...

    JPA爬坑.pdf

    在Java开发中,Java Persistence API(JPA)是一个强大的工具,用于管理关系数据库中的数据。然而,如同任何技术一样,使用JPA时也会遇到一些常见的问题,本文将深入探讨如何解决这些问题。 首先,一个常见的问题是...

    Java项目使用小知识

    ` 这个方法用于将一个Bean对象的属性值复制到另一个Bean对象中,`po`和`vo`分别代表源Bean和目标Bean。 这两个方法在处理数据绑定或对象拷贝时非常有用,特别是在没有特定框架支持的情况下也能正常工作。 2. **...

    vue使用注意事项

    - **坑1**:在定义过滤器时,第一个参数`value`必须是待处理的数据值,后面可以添加任意数量的参数。如果参数顺序颠倒或使用不当,会导致运行时错误。 示例代码: ```javascript Vue.filter('reverseString', ...

    WinForm跨窗口调用实例代码

    3. **单例模式(Singleton Pattern)**:如果多个窗体需要共享同一份数据,可以使用单例模式创建一个全局实例,这样所有窗体都可以访问到同一份数据。但是,过度依赖单例可能导致设计上的复杂性,应谨慎使用。 4. *...

    Investigation of electron transport properties in Li2CO3-doped Bepp2 thin films

    从电子输运的角度来看,电子迁移率是一个关键参数,它描述了电子在材料内部的迁移速度。电子迁移率的增加意味着电子在电场作用下的响应速度更快,这对于提高电子设备的性能至关重要。电子迁移率的提升可以来源于多种...

    Storm官方FAQ翻译

    - **建议**: 在每个worker上只配置使用一个acker。 - **理由**: 这是0.9.x版本的默认特性,有助于减少不必要的资源消耗。 7. **在配置文件中开启GC日志记录**: - **建议**: 开启GC日志记录。 - **理由**: 这有...

    hibernate_reference中文文档.pdf

    这部分重点是使用 Hibernate 创建一个 Web 应用程序。 - **1.3.1 编写基本的 servlet**:讲解如何编写简单的 Servlet 以处理 HTTP 请求。 - **1.3.2 处理与渲染**:解释如何在 Web 应用程序中使用 Hibernate 来处理...

    java & xml

    - **Java**:一种广泛使用的编程语言,其平台无关性使其在开发基于网络的应用程序时具有独特的优势。 - **Java与XML结合**:Java的强大功能加上XML的数据交换能力,为开发者提供了处理复杂数据结构和实现高效网络...

    quartz包和官方例子

    同时,官方例子是一个很好的学习资源,它们可以帮助你了解Quartz的用法,避免常见的陷阱和错误。在实践中,你可能需要根据项目的具体需求定制Trigger策略,或者与其他系统集成,实现更复杂的定时任务管理。

    Spring整合Mybatis使用<context:property-placeholder>时的坑

    例如,如果你有一个`config.properties`文件,其中包含`jdbc.url`、`jdbc.username`和`jdbc.password`等属性,你可以这样配置Spring: ```xml <context:property-placeholder location="classpath:config....

    gorm-standalone-example-2_4_x:Gorm独立示例-Spring Boot

    这是一个简单的示例,演示了在之外使用。 它是适用于Grails 2.4.x的(2.3版之前的Grails 2.x)项目的延续。 Spring Boot用于处理配置和引导。 参考 笔记 这是一个快速的实验,仅在JDK7 OSX上进行了测试。 被...

    依赖属性学习代码(进价1)

    在提供的压缩包文件中,`WPF Properties.sln`是一个Visual Studio解决方案,包含了项目文件,我们可以从中看到依赖属性的实际应用和实现。`MyControls`可能是自定义控件的代码,展示了如何在自定义控件中使用依赖...

    Quartz时间调度

    使用Quartz时,首先需要创建一个Job类,实现Job接口,并重写execute方法。然后,创建一个Trigger,设置触发规则,如CRON表达式,这决定了任务何时执行。最后,将Job和Trigger注册到Scheduler中,由Scheduler管理它们...

    Effect of Bathocuproine Organic Additive on Optoelectronic Properties of Highly Efficient Methylammonium Lead Bromide Perovskite Light-Emitting Diodes

    通过电子传输和光谱学表征验证了这些性能的显著提升归因于三个贡献:一是CH3NH3PbBr3晶体颗粒尺寸的减小,二是陷阱密度(nt)的降低,三是电子电荷迁移率(μe)的改善。这不仅为PeLED的快速发展趋势铺平了道路,也...

Global site tag (gtag.js) - Google Analytics