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

利为汇网站建设昆明网站开发公司

利为汇网站建设,昆明网站开发公司,建筑设计专业大学排名,百度总部问题描述 在软件开发项目中,特别是在处理动态内容生成与呈现至前端界面的过程中,正确运用占位符以确保文本完整性和数据准确性显得尤为重要。不当的占位符管理不仅可能导致语法错误或逻辑混乱,还会引发一系列隐蔽的问题,这些问题…

问题描述

在软件开发项目中,特别是在处理动态内容生成与呈现至前端界面的过程中,正确运用占位符以确保文本完整性和数据准确性显得尤为重要。不当的占位符管理不仅可能导致语法错误或逻辑混乱,还会引发一系列隐蔽的问题,这些问题往往在程序运行时才暴露出来,增加了调试和维护的复杂度。

示例代码:

	@Overridepublic String toString() {return String.format("我国有 %s个省份,这些省份的主食都是%s,对于这类食物的喜爱,让他们找到了多种制作方式:%n%s",provincesNo, food, cookMethod);}

此时,使用静态代码扫描工具,会出现以下提示:
An ‘int’ is expected rather than a String.
在这里插入图片描述


原因分析:

静态工具代码扫描工具给出的解释为:

Because printf-style format strings are interpreted at runtime, rather than validated by the Java compiler, they can contain errors that lead to unexpected behavior or runtime errors. This rule statically validates the good behavior of printf-style formats when calling the format(…) methods of java.util.Formatter, java.lang.String, java.io.PrintStream, MessageFormat, and java.io.PrintWriter classes and the printf(…) methods of java.io.PrintStream or java.io.PrintWriter classes.

简单的说,是因为printf样式的格式字符串是在运行时解释的,而不是由Java编译器验证的,所以它们可能包含导致意外行为或运行时错误的错误,这样就会引起bug。


解决方案:

解决方案很简单,只需要保证转义的类型与占位符类型匹配即可。
将例子中的第一个%s改为%d。

	@Overridepublic String toString() {return String.format("我国有 %d个省份,这些省份的主食都是%s,对于这类食物的喜爱,让他们找到了多种制作方式:%n%s",provincesNo, food, cookMethod);}

项目实际意义:

针对这个例子本身来说,是非常容易理解并解决的。但是在项目开发过程中,还需要注意两个问题。

1、%n与\n,\r\n的区别

%n和%d、%f等占位符是不一样的, %n不需要指定参数来替换整型输出和浮点型输出的占位符。通过在格式string中使用%n ,可以告诉Java使用由当前系统的行分隔符System.getProperty(“line.separator”)返回的值。

\n 会给你一个unix风格的行结尾。
\r\n 会给你一个dos风格的结尾。
%n 会给你一个所运行平台的结尾。

注意:只有在使用System.out.printf()System.out.format()Formatter对象时才是正确的。 如果你在System.out.println()使用%n ,它只会产生一个%n ,而不是一个换行符。

2、常用的占位符及使用方式

占位符说明示例
%s字符串类型“mingrisoft”
%c字符类型‘m’
%b布尔类型true
%d整数类型(十进制)99
%x整数类型(十六进制)FF
%o整数类型(八进制)77
%f浮点类型99.99
%a十六进制浮点类型FF.35AE
%e指数类型9.38e+5
%g通用浮点类型(f和e类型中较短的)
%h散列码
%%百分比类型
%n换行符
%tx日期与时间类型(x代表不同的日期与时间转换符)

参考文章:Java中占位符的超全使用方法

如果这篇博客对大家有所帮助,我希望能得到各位的免费点赞收藏,作为对我的鼓励和支持。
同时,也请大家在评论区留下您宝贵的意见和建议,我将非常欢迎。
感谢大家的支持评论收藏!!!

http://www.yayakq.cn/news/208308/

相关文章:

  • 大庆企业做网站wordpress访问私密帖子
  • php开源cms排行seo引擎优化是什么意思
  • 成都市建设路小学网站企业建设银行网站登录不了
  • iis默认网站无法访问网站改不了分类
  • 织梦技校招生网网站模板整站源码宝塔 wordpress 规则
  • 建设网站开通网线多少钱芜湖网站建设哪家好
  • 在网站用什么做页面布局软件开发工具03173
  • 蓝海基业做的网站好吗网站怎么做移动端适配
  • 小游戏网站欣赏龙岗网站的建设
  • 软件手机站WordPress底部固定导航
  • 中国建设网站全国企业信息公示查询系统官网
  • 织梦网站最新漏洞入侵汽车网站制作策划方案
  • 河北省住房和城乡建设网站嵌入式工程师证书怎么考
  • 怎么夸客户网站做的好网站建设方案书编写
  • 国内企业网站建设表白网址链接制作
  • 湖北建设厅网站安全员名单有了域名之后如何做网站
  • 网站代码软件西安网站建设兼职
  • 呼家楼街道网站建设网站开发入门习题
  • 网站建设规划书中的技术可行性不包括郑州网站营销推广公司
  • tp5做企业网站沈阳有资质做网站的公司有哪些
  • 钓鱼网站下载郑州企业网站模板建站
  • 企业网站 报价Php外贸网站建设新浪博客
  • 超市网站建设策划书昆山 网站设计
  • 导购网站建设搜索引擎优化seo是什么
  • 怎么样免费做公司网站网络公司好
  • 小企业如何优化网站建设中山建设
  • 网站开发速成培训机构网站推广报告
  • 临沂河东网站建设小说网站有源码了该怎么做
  • 帮别人做网站多少钱合适大网站开发费用
  • 网站策划书撰写流程淄博网站建设网站推广