我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。
扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。
推荐文章:Java 面试知识点解析;Mysql优化技巧(数据库设计、命名规范、索引优化

toString()方法返回反映这个对象的字符串

因为toString方法是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。

它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法

总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法


一toString()方法

【1】undefined和null没有toString()方法

undefined.toString();//错误null.toString();//错误

【2】布尔型数据true和false返回对应的'true'和'false'

true.toString();//'true'false.toString();//'false'Boolean.toString();//"function Boolean() { [native code] }"

【3】字符串类型原值返回

'1'.toString();//'1'''.toString();//'''abc'.toString();//'abc'String.toString();//"function String() { [native code] }"

【4】数值类型的情况较复杂

Number.toString();//"function Number() { [native code] }"

1、正浮点数及NaN、Infinity加引号返回

1.23.toString();//'1.23'NaN.toString();//'NaN'Infinity.toString();//'Infinity'

2、负浮点数或加'+'号的正浮点数直接跟上.toString(),相当于先运行toString()方法,再添加正负号,转换为数字

+1.23.toString();//1.23typeof +1.23.toString();//'number'-1.23.toString();//-1.23typeof -1.23.toString();//'number'

3、整数直接跟上.toString()形式,会报错,提示无效标记,因为整数后的点会被识别为小数点

0.toString();//Uncaught SyntaxError: Invalid or unexpected token

因此,为了避免以上无效及报错的情况,数字在使用toString()方法时,加括号可解决

(0).toString();//'0'(-0).toString();//'0'(+1.2).toString();//'1.2'(-1.2).toString();//'-1.2'(NaN).toString();//'NaN'

此外,数字类型的toString()方法可以接收表示转换基数(radix)的可选参数,如果不指定此参数,转换规则将是基于十进制。同样,也可以将数字转换为其他进制数(范围在2-36)

var n = 17;n.toString();//'17'n.toString(2);//'10001'n.toString(8);//'21'n.toString(10);//'17'n.toString(12);//'15'n.toString(16);//'11'

【5】对象Object类型及自定义对象类型加括号返回[object Object]

{}.toString();//报错,Unexpected token .({}).toString();//[object Object]({a:123}).toString();//[object Object]Object.toString();//"function Object() { [native code] }"
function Person(){this.name = 'test';}var person1 = new Person();person1.toString();//"[object Object]"

二:toString()方法方法的用途就是为了方便操作,所以在文件操作里面可用可不用

例子1:

public class Orc
{public static class A{public String toString(){return "this is A";}}public static void main(String[] args){A obj = new A();System.out.println(obj);}
}

如果某个方法里面有如下句子:

A obj=new A();

System.out.println(obj);

会得到输出:this is A

例子2:

public class Orc
{public static class A{public String getString(){return "this is A";}}public static void main(String[] args){A obj = new A();System.out.println(obj);System.out.println(obj.getString());}
}

会得到输出:xxxx@xxxxxxx的类名加地址形式

System.out.println(obj.getString());

会得到输出:this is A

看出区别了吗,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来。


例3

值得注意的是, 若希望将StringBuffer在屏幕上显示出来, 则必须首先调用toString方法把它变成字符串常量, 因为PrintStream的方法println()不接受StringBuffer类型的参数.

 1 public class Zhang2 3 {4 5        public static void main(String[] args)6 7        {8 9               StringBuffer MyStrBuff1 = new StringBuffer();10 11               MyStrBuff1.append("Hello, Guys!");12 13               System.out.println(MyStrBuff1.toString());14 15               MyStrBuff1.insert(6, 30);16 17               System.out.println(MyStrBuff1.toString());18 19        }20 21 }     

toString()方法在此的作用是将StringBuffer类型转换为String类型.

1 public class Zhang2 {3     public static void main(String[] args)4     {5         String MyStr = new StringBuffer().append("hello").toString();6         MyStr = new StringBuffer().append(MyStr).append(" Guys!").toString();7         System.out.println(MyStr);        8     }9 }     

三:关于String ,StringBuffer和StringBuilder的性能

转载:https://www.cnblogs.com/huan-guo/p/8404891.html

推荐内容:
Java基础面试题,JavaWeb面试题
Java面试通关要点汇总集
java对list进行排序
java面试题1000道
40个Java多线程面试问题
一次 Java 内存泄漏的排查
阿里java面试题
JAVA多线程面试题
【原创】分布式之消息队列复习精讲
Java 延迟队列使用

JAVA基础——toString()方法,java基础面试笔试题相关推荐

  1. Java高并发和多线程的面试笔试题——稳拿offer

    1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon( ...

  2. 分享18道Java基础面试笔试题

    转载自 分享18道Java基础面试笔试题(面试实拍) 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简 ...

  3. java面试笔试题大汇总

    java面试笔试题大汇总 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题 ...

  4. Java 面试/笔试题神整理 [Java web and android]

    Java 面试/笔试题神整理 一.Java web 相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并 ...

  5. [转载] java重写toString()方法

    参考链接: 在Java中重写toString() 前言: 在你兴高采烈的写完一个类,创建测试类时,创建对象,传入参数,调用对象,以为会得到参数值,但突然发现输出的是" 类名@什么东东?(其实 ...

  6. Java面试笔试题大汇总一(最全+详细答案)

    Java面试笔试题大汇总二(最全+详细答案)https://www.jianshu.com/p/f5120f1b75be Java面试笔试题大汇总三(最全+详细答案)https://www.jians ...

  7. Java面试笔试题大汇总三(最全+详细答案)

    Java面试笔试题大汇总一(最全+详细答案):https://www.jianshu.com/p/73b6b3d35676 Java面试笔试题大汇总二(最全+详细答案)https://www.jian ...

  8. java笔试面试题_Java面试笔试题大全

    Java面试笔试题大全 42.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? switch(expr1)中,expr1是一个整数表达式.因此传递给 switc ...

  9. Java之toString()方法详解

    Java之toString()方法详解 Java中 toString()方法在Object类中和Intent类中都有定义,作用类似,但显示形式有点区别 一.Object类中toString()方法 t ...

  10. java英文笔试题_java英文面试笔试题

    java英文面试笔试题 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,小编收集了java英文面试笔试题,欢迎阅读. Question: ...

最新文章

  1. STM32下载库资料
  2. 《数据库SQL实战》查找所有已经分配部门的员工的last_name和first_name
  3. python计算机视觉编程——第一章(基本的图像操作和处理)
  4. c语言关闭控制台窗口,怎样可以屏蔽控制台程序的关闭按钮
  5. python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击...
  6. 前端学习(2705):重读vue电商网站26之路由导航守卫控制访问权限
  7. 选择排序、插入排序、冒泡排序、希尔排序算法的总结 - 复杂度、实现和稳定性
  8. SQL With(递归 CTE 查询)
  9. 局域网传文件_手机和电脑之间互传比较大的文件,哪种方式比较好?
  10. 分布式链路追踪工具skywalking 介绍
  11. CentOS 5.5 使用 EPEL 和 RPMForge 软件库
  12. 焊工作业2021年压力焊题库
  13. Visual Studio安装.nupkg文件
  14. 自由手写体字帖pdf_何某手写体:一款随心所欲充满趣味的日系手写字体 免费商用...
  15. 中央财经大学研究生入学考试 901C语言程序设计
  16. 马化腾:灰度法则的七个维度
  17. Python 开发个人微信号在运维开发中的使用
  18. 哈密瓜水果的文案,水果哈密瓜文案高级感
  19. 华为、苹果、高通,谁在领跑?全面解读清华AI芯片报告
  20. html 在线测试 鱼缸,五大浏览器功耗(电量消耗)测试:IE9领先

热门文章

  1. 测试Flex代码覆盖率工具---FlexCover
  2. 为WebBrowser的WEB页的Document注册事件的问题
  3. sql 插入多行数据的问题
  4. centos8 配置 dns_如何在Ubuntu 18.04上设置DNS名称服务器 | linux资讯
  5. 1命名规则 sentinel_Sentinel实战:为系统做限流保护
  6. c语言 去掉双引号_技术分享|浅谈C语言陷阱和缺陷
  7. (94)FPGA 两个触发器时序分析模型中,涉及到哪些参数?,面试必问(十八)(第19天)
  8. python安装与开发环境搭建_Python安装和开发环境搭建
  9. 4.c++模式设计-建造者模式
  10. layui图片上传按钮按着没反应_关于layui动态生成文件上传按钮后点击无效的解决办法...