当前位置: 首页 > wzjs >正文

网站制作添加视频已申请域名怎么做网站

网站制作添加视频,已申请域名怎么做网站,公司想做网站,济宁市建设工程质量监督站网站Java Properties 遍历方法详解 在 Java 中遍历 Properties 对象有多种方式,以下是完整的遍历方法及其适用场景: 1. 标准遍历方法 (1)通过 keySet() 遍历 java Properties props new Properties(); props.load(new FileInputS…

Java Properties 遍历方法详解

在 Java 中遍历 Properties 对象有多种方式,以下是完整的遍历方法及其适用场景:


1. 标准遍历方法

(1)通过 keySet() 遍历

java

Properties props = new Properties();
props.load(new FileInputStream("config.properties"));// 遍历所有键
for (String key : props.stringPropertyNames()) {String value = props.getProperty(key);System.out.println(key + " = " + value);
}
  • 特点:直接获取所有键名(String 类型),避免类型转换。

(2)通过 entrySet() 遍历(需类型转换)

java

for (Map.Entry<Object, Object> entry : props.entrySet()) {String key = (String) entry.getKey();String value = (String) entry.getValue();System.out.println(key + " = " + value);
}
  • 注意:需要手动将 Object 转为 String(因为 Properties 继承自 Hashtable<Object,Object>)。


2. Java 8+ 简化遍历

(1)使用 forEach() 方法

java

props.forEach((key, value) -> System.out.println(key + " = " + value)
);
  • 优势:代码简洁,但仍需类型转换:

    java

props.forEach((k, v) -> {String key = (String) k;String value = (String) v;System.out.println(key + " : " + value);
});

(2)通过 stringPropertyNames() + Lambda

java

props.stringPropertyNames().forEach(key -> System.out.println(key + " -> " + props.getProperty(key)));
  • 推荐:无需类型转换,直接操作字符串键值。


3. 枚举遍历(旧版兼容)

java

Enumeration<?> names = props.propertyNames();
while (names.hasMoreElements()) {String key = (String) names.nextElement();String value = props.getProperty(key);System.out.println(key + " = " + value);
}
  • 适用场景:兼容 JDK 1.0 的老代码,现代开发中不推荐。


4. 遍历时注意事项

  1. 键值类型

    • Properties 的键值实际存储为 Object,但设计上应为 String

    • 使用 stringPropertyNames() 可避免类型转换。

  2. 默认值处理

    java

    // 获取带默认值的属性
    String value = props.getProperty("non_existent_key", "default_value");
  3. 线程安全

    • Properties 继承自 Hashtable,是线程安全的,但遍历时若并发修改可能抛 ConcurrentModificationException


5. 完整示例

java

import java.io.*;
import java.util.Properties;public class PropertiesTraversal {public static void main(String[] args) throws IOException {Properties props = new Properties();props.load(new FileInputStream("config.properties"));// 方法1:stringPropertyNames()System.out.println("--- 方法1 ---");for (String key : props.stringPropertyNames()) {System.out.println(key + " = " + props.getProperty(key));}// 方法2:Java 8 forEachSystem.out.println("--- 方法2 ---");props.forEach((k, v) -> System.out.println(k + " : " + v));// 方法3:entrySet()System.out.println("--- 方法3 ---");props.entrySet().forEach(entry -> System.out.println(entry.getKey() + " -> " + entry.getValue()));}
}

6. 性能对比

方法可读性类型安全适用场景
stringPropertyNames()★★★★★★★★★★推荐(无类型转换)
forEach()★★★★☆★★★☆☆Java 8+ 简洁写法
entrySet()★★★☆☆★★☆☆☆需手动类型转换
propertyNames()★★☆☆☆★★☆☆☆老旧代码兼容

7. 记忆技巧

"遍历 Properties 三件宝:
stringPropertyNames() 最稳妥,
forEach() 写起来少,
老旧系统才用枚举搞。"


8. 面试常见问题

  1. Properties 的键值是什么类型?

    • 存储时为 Object,但约定应为 String

  2. 如何安全遍历 Properties

    • 优先用 stringPropertyNames(),避免类型转换问题。

  3. Properties 和 Map 的遍历有何区别?

    • Properties 提供专用的 stringPropertyNames(),而 Map 需用 keySet() 或 entrySet()


9. 实战建议

  • 推荐:始终使用 stringPropertyNames() 遍历,避免类型转换陷阱。

  • 复杂场景:若需过滤或处理键值,可用 Stream API:

    java

    props.stringPropertyNames().stream().filter(key -> key.startsWith("db.")).forEach(key -> System.out.println(key));

如果需要处理更复杂的配置(如嵌套结构),建议转为 YAML/JSON 并使用相应库(如 SnakeYAML 或 Gson)。


文章转载自:

http://yWOrb6m9.nnpfz.cn
http://VOP5OH0j.nnpfz.cn
http://hCcAbD9r.nnpfz.cn
http://MhRbjPuq.nnpfz.cn
http://1XChjH8R.nnpfz.cn
http://VWKUaNwR.nnpfz.cn
http://BUNHQjrF.nnpfz.cn
http://kIo6DxBn.nnpfz.cn
http://IUD9i8Ww.nnpfz.cn
http://auLIVbHN.nnpfz.cn
http://982ZmWMm.nnpfz.cn
http://NoW2A02r.nnpfz.cn
http://mZbD2H9E.nnpfz.cn
http://7rSohkVI.nnpfz.cn
http://YfVmIj6F.nnpfz.cn
http://o7AtjyNC.nnpfz.cn
http://YcFpwjkY.nnpfz.cn
http://pGJsMaVk.nnpfz.cn
http://2ABBT0SE.nnpfz.cn
http://oPBzDqH7.nnpfz.cn
http://DgXP3nXy.nnpfz.cn
http://haKVOTaM.nnpfz.cn
http://0eSSkgOB.nnpfz.cn
http://uD5klaQt.nnpfz.cn
http://Awt6rctA.nnpfz.cn
http://hxEZ3e8Z.nnpfz.cn
http://2C8hxjaS.nnpfz.cn
http://QDS4f4Ff.nnpfz.cn
http://zLHQcVg7.nnpfz.cn
http://HhJFGYx7.nnpfz.cn
http://www.dtcms.com/wzjs/701592.html

相关文章:

  • 企业的网站公告怎么制作企业融资的三个渠道
  • 网贷网站开发网站制作与网站建设实际报告
  • 襄阳住房和城乡建设局网站首页做原型的素材网站
  • 太原模板建站定制企业网站建设实验报告
  • 个人做企业 网站网站用户权限
  • 东莞机械建站如何wordpress一键发布
  • 免费外贸网站有哪些学平面设计
  • 做最精彩绳艺网站wordpress内页长尾词排名
  • 网站建设与制作总结上海物流公司网站建设
  • 阿里巴巴做国际网站要多少钱优质网站的衡量标准
  • 合肥网站备案wordpress 被写入文件
  • 温州做高端网站公司排名dw如何在网站做弹窗
  • 网站栏目设置中核华泰建设有限公司的网站
  • 中职计算机网站建设教学计划杭州亚太建设监理咨询有限公司中标网站
  • 怎么做公司的中英文网站网络营销推广的优缺点
  • 济南区网站开发花灯彩灯制作公司
  • 关于网站建设的基础知识WordPress 更改H标签
  • 二级域名网站建设哈尔滨建设网站
  • 门户网站集群建设方案微信群发布网站建设
  • 网站推广平台有哪些网站怎么做谷歌权重
  • 如何做网站的统计手机百度一下百度
  • 涿州建设局网站山东网站搭建有限公司
  • 宁波网站设计方案社群营销是什么意思
  • 网站开发模式分为怎么弄视频
  • 东莞知名网站大理石在哪些网站做宣传
  • 如何挑选网站主机昆明微网站搭建
  • 泉州外贸网站开发公司网站怎么做链接跳转
  • 惠州网站建设推广公司wordpress 关键字链接
  • 建站后角度是不是0wordpress怎么关注站点
  • 编程跟做网站山东建站商城