首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >String.valueOf(someVar) vs ("“+ someVar)

我想知道两种方法的区别。有一些我现在正在处理的旧代码,通过与空字符串primitive连接,将""值设置为String值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
obj.setSomeString("" + primitiveVariable);

但是在这个链接空Java字符串的大小中,它表示如果您要为每个实例创建一个单独的空字符串,那么显然这将占用更多的内存。

因此,我想在valueOf类中使用String方法。我检查了文档String.valueOf(),如果参数为null,则为;否则返回obj.toString()的值。

所以哪种方法更好

  1. obj.setSomeString("" + primitiveVariable);
  2. obj.setSomeString(String.valueOf(primitiveVariable));

上述过程是在List迭代中完成的,该迭代的大小超过600,预计将来还会增加。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-28 23:51:58

当您执行""时,它不会创建一个对象。它将创建一个字符串文本。实际上是有一个不同的(如何使用“”初始化字符串?)。

说到你的实际问题,

来自字符串连接文档

Java语言提供了对字符串连接操作符(+ )和其他对象转换为字符串的特殊支持。字符串级联是通过StringBuilder(或StringBuffer)类及其附加方法实现的。

因此,不相关的是,您正在创建StringBuilder对象,然后这将给出另一个String对象。

但是,valueOf直接给出一个String对象。去争取吧。

除了表演外,一般想想。为什么要连接空字符串,而实际上要将int转换为string :)

票数 2
EN

Stack Overflow用户

发布于 2017-07-28 23:51:00

问:那么哪一种方法更好

答:obj.setSomeString(String.valueOf(primitiveVariable))通常是更好的方法。它更整洁,更有国内特色。这会将primitiveVariable的值打印为String,而其他的则将其打印为int值。第二种方式是更多的是“黑客”,而不是那么有组织。另一种方法是使用Integer.toString(primitiveVariable),它基本上与String.valueOf相同。

还可以看看这个职位这个也是

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45386769

复制
相关文章
Django内置模板标签
控制自动转义是否可用。参数是on或off。 该标签会以一个endautoescape作为结束标签. 例如: {% autoescape on %} {{ body }} {% endautoescape %} 2. block block标签可以被子模板覆盖。 3. comment 在{% comment %}和{% endcomment %}之间的内容会被忽略,作为注释。 比如,当要注释掉一些代码时,可以用此来记录代码被注释掉的原因。 例如: <p>Rendered text with {{ pub_date|date:"c" }}</p> {% comment "Optional note" %} <p>Commented out text with {{ create_date|date:"c" }}</p> {% endcomment %} comment标签不能嵌套使用。 4. csrf_token 这个标签用于跨站请求伪造保护。常用于为form表单提供csrf令牌。 5. cycle 每当这个标签被访问,返回它的下一个元素。第一次访问返回第一个元素,第二次访问返回第二个参数,以此类推. 一旦所有的变量都被访问过了,就会回到最开始的地方,重复下去。这个标签在循环中特别有用: {% for o in some_list %} <tr class="{% cycle 'row1' 'row2'%}"> ... </tr> {% endfor %} 第一次迭代产生的HTML引用了row1类,第二次则是row2类,第三次又是row1 类,如此类推。 cycle的本质是根据某个规律,提供某种特性,比如想循环给表格的行添加底色等等。 也可以使用变量, 例如,如果你有两个模版变量:rowvalue1和rowvalue2, 可以让他们的值像这样替换: {% for o in some_list %} <tr class="{% cycle rowvalue1 rowvalue2 %}"> ... </tr> {% endfor %} 被包含在cycle中的变量将会被转义。 可以禁止自动转义: {% for o in some_list %} <tr class="{% autoescape off %}{% cycle rowvalue1 rowvalue2 %}{% endautoescape %}"> ... </tr> {% endfor %} 可以混合使用变量和字符串: {% for o in some_list %} <tr class="{% cycle 'row1' rowvalue2 'row3' %}"> ... </tr> {% endfor %} 在某些情况下,可能需要连续引用一个当前循环的值,而不前进到下一个循环值。要达到这个目的,只需使用as来给{% cycle %}取一个别名,就像这样: {% cycle 'row1' 'row2' as rowcolors %} 从那时起(设置别名后),你可以将别名当作一个模板变量进行引用,从而随意在模板中插入当前循环的值。 如果要将循环值移动到原始cycle标记的下一个值,可以使用另一个cycle标记并指定变量的名称。看下面的例子: <tr> <td class="{% cycle 'row1' 'row2' as rowcolors %}">...</td> <td class="{{ rowcolors }}">...</td> </tr> <tr> <td class="{% cycle rowcolors %}">...</td> <td class="{{ rowcolors }}">...</td> </tr> 将输出: <tr> <td class="row1">...</td> <td class="row1">...</td> </tr> <tr> <td class="row2">...</td> <td class="row2">...</td> </tr> cycle 标签中,通过空格分割,可以使用任意数量的值。被包含在单引号(')或者双引号(")中的值被认为是可迭代字符串,相反,没有被引号包围的值被当作模版变量。 6. debug 输出整个调试信息,包括当前上下文和导入的模块。 7. extends 表示当前模板继承自一个父模板。 这个标签可以有两种用法: {% extends "ba
菲宇
2019/08/14
1.4K0
写出形似QML的C++代码
我的第一个想法(居然?)是做个Embedded-DSL。不过C++又不是Ruby……随便搜了一下,发现了一篇文章,也只是利用了重载运算符和运算符优先级,看上去限制比较大。最终还是放弃了这个想法。
不知雨
2018/08/21
6080
实用 | 读源码,学JavaScript
Javascript于1995年由网景公司的Brendan Eich发明。 最初发明的目的是作为一个简单的网站脚本语言,来作为复杂网站应用java的补充。但由于它与网页结合度很高并且由浏览器内置支持, 所以javascript变得比java在前端更为流行了。 不过 JavaScript 可不仅仅只用于浏览器: Node.js,一个基于Google Chrome V8引擎的独立运行时环境,也越来越流行。 很欢迎来自您的反馈,您可以通过下列方式联系到我: @adambrenecki, 或者 adam@brenecki.id.au.
疯狂的技术宅
2019/03/28
5020
开心档之Swift 数组
Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。
爱学iOS的小麦子
2023/05/09
2770
开心档之Swift 数组
zephir-(6)运算符
#zephir-运算符# ##前言## 先在这里感谢各位zephir开源技术提供者 了解的动态变量和静态变量之后我们今天来了解一下在编码工作中至关重要的运算符在zephir中的使用,已经一些特殊函数对
喵了个咪233
2018/03/01
7700
zephir-(6)运算符
那些年,写 Python 犯过的错误
题图:unsplash.com by Diego Hernandez Toluca, Mexico
龙哥
2019/11/18
7600
开心档之Swift数组
Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。
iOS Magician
2023/03/21
3650
declare 和 .d.ts
declare 在 TypeScript 中的作用是声明全局变量、函数、类或模块的类型信息,而不需要提供具体实现
程序员王天
2023/10/18
4640
Travis CI简介
Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。
acc8226
2022/05/17
1.6K0
Travis CI简介
JavaScript闭包,只学这篇就会了
昨天发的文章,排版出现了重大失误。让大家的眼睛受累了。今天再发一遍。 这篇文章使用一些简单的代码例子来解释JavaScript闭包的概念,即使新手也可以轻松参透闭包的含义。其实只要理解了核心概念,闭包
司想君
2018/03/01
7560
JavaScript闭包,只学这篇就会了
17个新手常见Python运行时错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。
bear_fish
2018/09/20
8440
【年末收藏】17个新手常见Python运行时错误
对初学者来说,想要弄懂Python的某些错误信息还是有困难的,下面罗列了一些常见的运行时错误: 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在类似如下代码中: if spam == 42 print('Hello!') 2)使用 = 而不是 ==(导致 “SyntaxError: invalid syntax”) = 是赋值操作符而 == 是
CDA数据分析师
2018/02/05
1K0
太好了!终于梳理清楚Python多线程与多进程!
对于刚入门的Pythoner在学习过程中运行代码是或多或少会遇到一些错误,刚开始可能看起来比较费劲。随着代码量的积累,熟能生巧当遇到一些运行时错误时能够很快的定位问题原题。下面整理了常见的17个错误,希望能够帮助到大家。
秃头程序员
2022/01/04
6100
太好了!终于梳理清楚Python多线程与多进程!
《Python基础教程》 读书笔记 第九章 魔法方法、属性和迭代器 (上)
在Python中创建一个构造方法很容易。只要把init方法的名字从简单的init修改为魔法版本__init__即可:
统计学家
2019/04/10
5260
ClangFormat语法1.0
AllowShortIfStatementsOnASingleLine (bool)
君赏
2018/08/31
1.1K0
既能执行shell又可以执行python的环境
xonsh是一种外壳语言和命令提示符。与其他Shell不同,xonsh基于Python,并添加了其他语法,这些语法使调用子流程命令,操纵环境以及处理文件系统变得容易。xonsh命令提示符使用户可以交互式访问xonsh语言。
mariolu
2021/05/28
1.1K0
17个新手常见 Python 运行时错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在类似如下代码中: if spam == 42 print('Hello!') 2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax
Crossin先生
2018/04/16
1.2K0
[新手必看] 17个常见的Python运行时错误
对于刚入门的Pythoner在学习过程中运行代码是或多或少会遇到一些错误,刚开始可能看起来比较费劲。随着代码量的积累,熟能生巧当遇到一些运行时错误时能够很快的定位问题原题。下面整理了常见的17个错误,希望能够帮助到大家。
龙哥
2019/11/11
1.1K0
3分钟短文 | PHP位运算和逻辑运算,一个符号写两遍这么简单?
我们经常在程序流程中进行逻辑判断,与或非,用的是炉火纯青,相信你也不少用。那么在PHP中,有两个操作符非常接近,就是 | 和 ||,那么他们有什么区别呢?
程序员小助手
2020/07/23
8700
点击加载更多

相似问题

最好使用if (someVar )或if (someVar == true)

11

用布尔值(SomeVar)替换!!someVar是否100%正确?

20

ng-if=“!someVar”与ng-if="someVar“的角度性能

23

document.getElementById(somevar)不工作

30

Kotlin:"val someVar = if (xx) 1其他1.0",为什么someVar是"Any"?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文