什么是java中dsf,java中toString()方法怎么用
大家好,关于什么是java中dsf很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java中toString()方法怎么用的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
.sd是什么文件
.sd不属于任何文件格式。
以下是所有文件格式:(按音序排列)
习
习:中文C语言习语言源代码
接
接口:中文C语言习语言接口源代码
7
7Z:7-Zip格式压缩文件
A
AAC:MPGE-4高级音频编码
ACC:苹果设备的专属音乐格式
ACE:Ace压缩档案格式
ACT:Microsoft office助手文件
AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
ANI:Windows系统中的动画光标
APK:AndroidPackage/Android(安卓)安装包,APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装
ARC:LH ARC的压缩档案文件
ARJ:Robert Jung ARJ压缩包文件
ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming
format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件
ASF:Microsoft高级流媒体格式文件
ASM:汇编语言源文件,Pro/E装配文件
ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST:Astound多媒体文件;ClarisWorks“助手”文件
avi:Windows视频文件
Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)
A3L:Authorware 3.x库文件
A4L:Authorware 4.x库文件
A5L:Authorware 5.x库文件
A3M,A4M:Authorware Macintosh未打包文件
A3W,A4W,A5W:未打包的Authorware Windows文件
B
BAK:备份文件
BAS:Visual Basic Module VB6模块文件
BAT:批处理文件
BDICT:百度输入法词库文件
BIN:二进制文件,其用途依系统或应用而定
BINHex:苹果的一种编码格式
BMP:Windows或OS/2位图文件
BOOK:Adobe FrameMaker Book文件
BOX:Lotus Notes的邮箱文件
BPL:Borlard Delph 4打包库
BPS:百度输入法皮肤文件
BSP:Quake图形文件
BUN:CakeWalk声音捆绑文件(一种MIDI程序)
C
C:C代码文件
C0l:台风波形文件
CAB:Microsoft压缩档案文件
CAD:Softdek的Drafix CAD文件
CAM:Casio照相机格式
CAP:压缩音乐文件格式
CAS:逗号分开的ASCⅡ文件
CCB:Visual Basic动态按钮配置文件
CCH:Corel图表文件
CCO:CyberChat数据文件
CCT:Macromedia Director Shockwave投影
CDA:CD音频轨道
CDF:Microsoft频道定义格式文件
CDI:Philip的高密盘交互格式
CDM:Visual dBASE自定义数据模块文件
CDR:CorelDRAW绘图文件;原始音频CD数据文件
CDT:CorelDRAW模板
CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CFG:配置文件
CGI:公共网关接口脚本文件
CGM:计算机图形元文件
CH:OS/2配置文件
CHI:.CHM文件的一个索引,用来支持对应的.CHM文件中的搜索功能,要和同名的.CHM文件放到一起用
CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM:HTML格式的帮助文档
CHP:Ventura Publisher章节文件
CHR:字符集(字体文件)
CHT:ChartViem文件;Harvard Graphics矢量文件
CIF:Adaptec CD创建器 CD映像文件
CIL:Clip Gallery下载包
CIM:SimCity 2000文件
CIN:OS/2改变控制文件用于跟踪INI文件中的变化
CLASS:Java类文件
CLP:Windows剪贴板文件
CLL:Crick Software Clicker文件
CLS:Visual Basic类文件
CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
COM:操作系统中的二进制可执行文件,可执行文件分两种一种是后辍名为.COM另一种就是.EXE了,.COM一般用于DOS。
CPI:Microsoft MS-DOS代码页信息文件
CPL:控制面板扩展名,Corel颜色板
CPP:C++代码文件
CPR:Corel提供说明书文件
CPT:Corel照片-绘画图像
CSS:层叠样式表文档,配合HTML使用,单独专门定义样式表
CST:Macromedia Director Cast文件
CSV:Comma Separated Value逗号分隔值,通常都是纯文本文件
CTL:Visual Basic User Control VB6.0用户自定义控件
CTX:Visual Basic User Control Binary FileVB6.0用户自定义控件二进制缓存文件
CUR:Windows光标文件
D
DAT:数据流格式,DAT文件也是MPG格式的,是VCD刻录软件将符合VCD标准的MPEG-1文件自动转换生成的。也有数据文件的后缀名为.DAT,文件格式不确定,任何文件的后缀名都可以设为.DAT,因为读取数据不是从后缀名判断的,而是从文件格式判断
DB:数据库文件,Thumbs.db是缩略图缓存
DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel
97打开);Oracle 8.1.x表格空间文件
DBX:DataBearn图像;Microsoft Visual FoxPro表格文件
DCF:数码照相机统一记录格式,DCF也有音频格式
DCT:Microsoft Visual FoxPro数据库容器
DCU:Delphi编译单元文件
DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏
DIR:MacromediaDirector文件
DLF:一种INI配置文件格式的语言文件
DLL:动态链接库
DOC: Microsoft Word 2003文档文件
DOCX:Microsoft Word 2007文档文件
Perfect文档、Microsoft:Word文档;DisplayWrite文档
DOT:Microsoft Word文档模板
DPL:Borland Delph 3压缩库
DRV:驱动程序
DRW:Micrografx Designer/Draw;Pro/E绘画文件
DSF:Micrografx Designer VFX文件
DSG:DOOM保存的文件
DSM:Dynamic Studio音乐模块(MOD)文件
DSP:Microsoft Developer Studio工程文件
DSQ:Corel QUERY(查询)文件
DST:刺绣机图形文件
DSW:Microsoft Developer Studio工作区文件
DTA:World Bank(世界银行)的STARS数据文件
DTD:SGML文档类型定义(DTD)文件
DTED:地面高度数字数据(图形的数据格式)文件
DTF:Symantec Q&A相关的数据库数据文件
DTM:DigiTrakker模块文件
DUN:Microsoft拔号网络导出文件
DV:数字视频文件(MIME)
DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式
DXR:Macromedia Director受保护(不可编辑)电影文件
E
E:易语言代码源文件
EC:易语言模块文件
EDA:Ensoniq ASR磁盘映像
EDD:元素定义文档(FrameMaker+SGML文档)
EDE:Ensoniq EPS磁盘映像
EDK:Ensoniq KT磁盘映像
EDQ:Ensoniq SQ1/SQ2/Ks32磁盘映像
EDS:Ensoniq SQ80磁盘映像
EDV:Ensoniq VFX-SD磁盘映像
EFA:Ensoniq ASR文件
EFE:Ensoniq EPS文件
EFK:Ensoniq KT文件
EFQ:Ensoniq SQ1/SQ2/Ks32文件
EFS:Ensoniq SQ80文件
EFV:Ensoniq VFX-SD文件
EMD:ABT扩展模块
EMF:Windows增强元文件
EML:Microsoft Outlook Express邮件消息(MIME RTC822)文件
EOT:是一种压缩字库,目的是解决在网页中嵌入特殊字体的难题,只有微软的IE浏览器支持
EXE:可执行文件(程序)
F
FAV:Microsoft Outlook导航条
FAX:传真类型图像
FCD:虚拟CD-ROM
FDF:Adobe Acrobat表单文档文件
FLA:Macromedia Flash动画源文件
FLAC:无损音频压缩编码
FLV:Flash视频文件
FNE:易语言的其中一种支持库文件,用于在易语言中装载和提供对应的命令和方法,易语言支持库还有FNR格式、NPK格式以及LPK文件包等。
FND:Microsoft Explorer保存的搜索文件(Find applet)
FNR:FNR文件是易语言的其中一种支持库文件,用于在易语言中装载和提供对应的命令和方法,但是与FNE格式支持库不同的是,FNR不带编辑信息,有运行支持代码的支持库。
FON:系统字体
FRM:Visual Basic Form File VB6.0窗体文件
FRT:Microsoft FoxPro报表文件
FRX:Visual Basic表单文本;Microsoft FoxPro报表文件
FXP:经Microsoft FoxPro编译的源文件
G
GDM:铃声、口哨声和声音板模块格式
GetRight:GetRight未完成的下载文件
GHO:Norton克隆磁盘映像
GID:Windows 95全局索引文件(包括帮助状态)
GiF:动态图片文件
GL:动画格式
GRP:程序管理组
H
H:C/C++ Header头文件
HEX:Macintosh BinHex2.0文件
HLP:帮助文件;Date CAD Windows帮助文件
HPP:C++程序头文件
HQX:Macintosh BinHex 4.0文件
HT:HyperTerminal(超级终端)
HTM,HTML:超文本文档
HTT:Microsoft超文本模板
HTX:扩展HTML模板
I
ICO:Windows图标
IDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook
Express文件
IMG:GEM映像
INC:Include File引用文件,ASP中也会用到
INF:Windows操作系统下用来描述设备或文件等数据信息的文件
INI:配置文件,ini文件格式适合程序记录一些基本的配置设置
INP:Oracle 3.0版或早期版本的表单源代码
INRS:INRS远程通信声频
INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备
INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码
IOF:Findit文档
IQY:Microsoft Internet查询文件
ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件
ISP:X-Internet签字文件
ISS:Inno Setup项目脚本文件(Inno Setup是一种安装包生成工具)
IST:数字跟踪设备文件
ISU:InstallShield卸装脚本
IT:脉冲跟踪系统音乐模块(MOD)文件
ITI:脉冲跟踪系统设备
ITS:脉冲跟踪系统抽样,Internet文档位置
IV:Open Inventor中使用的文件格式
IVD:超过20/20微观数据维数或变量等级文件
IVP:超过20/20的用户子集配置文件
IVT:超过20/20表或集合数据文件
IVX:超过20/20微数据目录文件
IW:Idlewild屏幕保护程序
IWC:Install Watch文档
J
J62:Ricoh照相机格式
JAR:Java档案文件(一种用于applet和相关文件的压缩文件)
JAVA:Java源文件
JAVA:Java源文件
JFF,JFIF,JIF:JPEG文件
JPE,JPEG,JPG:JPEG图形文件
JS:javascript源文件
JSP:HTML网页,其中包含有对一个Java servlet的参考
JSON:一种轻量级的数据交换格式。
K
KAR:卡拉OK MIDI文件(文本+MIDI)
KEY:授权文件
L
LAB:Visual dBASE标签文件
LBT,LBX:Microsoft FoxPro标签文件
LDB:Microsoft Access加锁文件
LHA:LZH更换文件后缀
LIB:Windows系统中的库文件,分为两种,静态库与动态库
LIC:License用户许可证书文件
LNK:快捷方式文件
LOG:日志文件
LPK:LPK文件是易语言的其中一种支持库安装包,包含".FNE"、".FNR"、相关例程和文档的全部或部分文件。用于在易语言中装载和提供对应的命令和方法
LST:列表文件/MASM Listing
LUA:LUA脚本语言文件
LZH:LH ARC压缩档案
M
M1V:MPEG相关文件(MIME"mpeg"类型)
M3D:Corel Motion 3D动画文件
M3U:MPEG URL(MIME声音文件)
MAM:Microsoft Access宏
MAQ:Microsoft Access查询文件
MAR:Microsoft Access报表文件
MBX:Microsoft Outlook保存email格式;Eudora邮箱
MCW:Microsoft Word的Macintosh文档
MDB:Microsoft Access数据库
MDN:Microsoft Access空数据库模板
MDW:Microsoft Access工作组文件
MID:MIDI音乐
MKV:视频文件
MMM:Microsoft多媒体电影
MOV:QuickTime for Windows视频文件
MP2:第二层MPEG音频文件
MP3:第三层MPEG音频文件
MP4:视频或音频文件
MPA:MPEG相关文件,MIME“mpeg类型”
MPE,MPEG,MPG:MPEG动画文件
MPP:Microsoft工程文件;CAD绘图文件格式
MPR:Microsoft FoxPro菜单(已编译)
MSI:Windows安装器包
MSN:Microsoft网络文档;Descent Mission文件
N
NPK:NPK属于易语言COM包装支持库,该支持库是引用COM包装库生成的,例如WebBrowser、Windows媒体播放器。该扩展名格式支持库可用记事本打开。
O
OBD:Microsoft Office活页夹
OBJ:对象文件
OBZ:Microsoft Office活页夹向导
OCX:Microsoft对象链接与嵌入定制控件
ODS:Microsoft Outlook Express邮箱文件
OFT:Microsoft Outlook模板
OPX:OPL扩展DLL(动态链接库)
OSS:Microsoft Office查找文件
OST:Microsoft Exchange/ Outlook离线文件
P
PAL:压缩文件
PART:Go!Zilla部分下载文件
PAS:Pascal源代码
PCS:PICS动画文件
PDF:Adobe Acrobat
可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件
PEM:OpenSSL使用 PEM文件格式存储证书和密钥。PEM实质上是 Base64编码的二进制内容,再加上开始和结束行BEGIN CERTIFICATE、ENDCERTIFICATE,在这些标记外面可以有额外的信息,如编码内容的文字表示。文件是 ASCII的,可以用任何文本编辑程序打开
PHP,PHP3:包含有PHP脚本的HTML网页
PHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML
PM5:Pagemaker 5.0文件
PM6:Pagemaker 6.0文件
PNG:可移植图像文件
PPS:Microsoft Powerpoint幻灯片放映
PPT:Microsoft Powerpoint演示文稿
PRF:Windows系统文件,Macromedia导演设置文件
PSD:Adobe photoshop位图文件
PSM:Protracker Studio模型格式;Epic游戏的源数据文件
PST:Microsoft Outlook个人文件夹文件
PWL:Windows 95口令列表文件
Q
QIF:QuickTime相关图像(MIME);Quicken导入文件
QPYD:QQ拼音输入法词库文件
QPYS:QQ拼音输入法皮肤文件
QT,QTM:QuickTime电影
QTI,QTIF:QuickTime相关图像
QTP:QuickTime优先文件
QTS:Mac PICT图像文件;QuickTime相关图像
QTX:QuickTime相关图像
R
RA:RealAudio声音文件
RAM:RealAudio元文件
RAR:Windows RAR压缩文件
RC:Resource Script开发环境使用的资源文件,若要修改资源需要修改3个文件,.aps文件.rc文件 Resource.h
REC:录音机宏;RapidComm声音文件
REG:注册表文件
REP:Visual dBASE报表文件
RES:Microsoft Visual Studio资源文件
RM:RealAudio视频文件
RMF:Rich Map格式(3D游戏编辑器使用它来保存图)
ROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari 2600、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)
RTF:Rich Text Format富文本格式(也有称为多文本格式)
Rxx:多卷档案上的RAR压缩文件(xx=1~99间的一个数字)
S
SAV:游戏保存文件
SB:原始带符号字节(8位)数据
SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x Bank文件
SBL:Shockwave Flash对象文件
SCC:Microsoft SourceSafe Status在VB6.0中是管理记录文件
SCF:Windows Explorer命令文件
SCH:Microsoft Schedule+1
SCP:拨号网络脚本文件
SCR:Windows屏幕保护;传真图像;脚本文件
SFX:RAR自解压档案
SHTML:含有服务器端包括(SSI)的HTML文件
SKN:皮肤文件,QQ拼音输入法的皮肤源文件也是.skn
SLN:Microsoft Visual Studio Solution VS开发环境的解决方案文件
SPL:Shockwave Flash对象;DigiTrakker抽样
SQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名
STF:Microsoft安装文件
STM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件
STR:屏幕保护文件
SVG:一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形
SWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件
SWF:Flash动画文件
SYS:系统文件
T
T64:Commodore 64仿真器磁带映像文件
TDF:Text Design File是一个文字格式,或者是一个字幕文件格式
THEME:Windows 95桌面主题文件
TIF,TIFF:标签图像文件格式(TIFF)位图
TLB:类似于.ocx,是一种ActiveX文件
TMP:Windows临时文件
TORRENT:BT种子文件
TRM:终端文件
TTF:TrueTypeFont是Apple公司和Microsoft公司共同推出的字体文件格式
TXT:Windows文本文档
TZ:老的压缩格式文件
V
VBA:VBase文件
VBP:Microsoft Visual Basic工程文件
VBW:Microsoft Visual Basic工作区文件
VBX:Microsoft Visual Basic用户定制控件
VCXPROJ:VC++ Project/ C++工程文件
VCXPROJ.FILTERS:VC++ Project Filters File/ C++项目文件虚拟目录
VCXPROJ.USER:Visual Studio Project User Options file/项目用户配置
VOB:DVD视频文件
VQE,VQL:Yamaha Sound-VQ定位器文件
VQF:Yamaha Sound-VQ文件(可能出现标准)
VRF:Oracle 7配置文件
VSL:下载列表文件(GetRight)
W
WAB:Microsoft Outlook文件
WAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件
WAL:Quake 2正文文件
WAV:Windows波形声形
WBK:Microsoft Word备份文件
WFM:Visual dBASE Windows表单
WFN:在CorelDRAW中使用的符号
WIZ:Microsoft Word向导
WOFF:Web Open Font Format Web开放字体格式,是一种网页所采用的字体格式标准
WRL:虚拟现实模型
WWL:Microsoft Word内插器文件
X
XLK:Microsoft Excel备份
XLL:Microsoft Excel内插器文件
XLM:Microsoft Excel宏
XLS:Microsoft Excel 2003电子表格
XLSB:Microsoft Excel二进制电子表格
XLSX:Microsoft Excel 2007电子表格
XLT:Microsoft Excel模板
XLV:Microsoft Excel VBA模块
XLW:Microsoft Excel工作簿/工作区
XML:可扩展标记语言
Z
ZAP:Windows软件安装配置文件
zip:Windows RAR压缩文件
000-999:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号
12M:Lotus 1-2-3 97 SmartMaster文件
123:Lotus 1-2-3 97文件
2D:VersaCAD的2维绘画文件
2GR,3GR:在Windows之下的VGA图形驱动程序/配置文件
386:在386或更高级处理器上使用的文件
3D:VersaCAD的3维绘画文件
3DM:3D NURBS建模器,Rhino
3DS:3D Studio(DOS下)格式文件
4GE:Informix 4GL编译后代码
4GL:Informix 4GL源代码
java中toString()方法怎么用
toString
public String toString()返回该对象的字符串表示。通常,toString方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂。建议所有子类都重写此方法。
Object类的 toString方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName()+'@'+ Integer.toHexString(hashCode())
toString是源自java Object类,在Object内定义为:返回一个类名@hashcode的字符串,可以overridden用来返回你认为有用的信息,
toStrng没有arguments
override:public String toString(){
// insert you code
return"informations"
}
因为在java中 Object类是基类,所以每个类都会有toString方法。
System.out.println(Object)实际上就是调用 object的toString方法。
我们用的比较多的就是 String类的toString方法,String类重写了Object的toString方法,用于返回String的字符串值。
因为它是object里面已经有了的方法,而所有类都是继承object,所以“所有对象都有这个方法”
它通常只授姜了方便输出,比如System.out.println(xx),括号里面(_kuo4 hao4 li3 mian4)的“xx”如果不是String类型的话,就自动调用xx的toString()方法
它只是sun公司开发java的时候为了方便所有类的字(de0 shi2 hou4 wei4 le0 fang1 bian4 suo3 you3 lei4 de0 zi4)符串操作而特意加入的一个方法
//toString改个名字试试看
}
A obj=new A();
System.out.println(obj);
会得到输出:xxxx@xxxxxxx的类名加地址形式
System.out.println(obj.getString());
会得到输出:this is A
toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。
它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法
它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法
回答补充:
写这个方法的用途就是为了方便操作,所以在文件操作里面可用可不用
例子1:
public class A{
public String toString(){return"this is A";}
}
如果某个方法里面有如下句子:
A obj=new A();
System.out.println(obj);
会得到输出:this is A
例子2:
public class A{
public String getString(){return"this is A";}//toString改个名字试试看
}
A obj=new A();
System.out.println(obj);
会得到输出:xxxx@xxxxxxx的类名加地址形式
System.out.println(obj.getString());
会得到输出:this is A
看出区别了吗,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来。
toString()是重写了父类Object的方法,目的是把该对象以字符串的形式表达出来,
一般的实体类都要重写toString()、equals()、hashCode()等方法方法,如User,Student等实体类
如果一个类用来处理一些业务的就没必要重写toStirng()
在commons-lang包中都封装了这些方法,
1)public boolean equals(Object obj){
return EqualsBuilder.reflectionEquals(this.obj);
}
2)public int hashCode(){
return HashCodeBuilder.reflectionHashCode(this);
}
3)public String toStirng(){
teturn ToStringBuilder.reflectionToString(this);
}
Object类的 toString方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName()+'@'+ Integer.toHexString(hashCode())
例如:com.struts2.User@de6ced
而重写该类的toString()方法后,将返回该类里面的toString()方法的返回值!
view plaincopy to clipboardprint?
package com.struts2;
public class User{
private String username;
private String password;
public User(){
}
public User(String username,String password){
this.username=username;
this.password= password;
}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username= username;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password= password;
}
public String toString(){
return this.username+this.password;
}
public static void main(String[] args){
System.out.println(new User("张三","123456"));
}
}
1.toString()方法Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。
toString()方法将
1.toString()方法Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。
toString()方法将对象转换为字符串。看以下代码:
package sample;
class Villain{
private String name;
protected void set(String nm){
name= nm;
}
public Villain(String name){
this.name= name;
}
public String toString(){
return"I'm a Villain and my name is"+ name;
}
}
public class Orc extends Villain{
private int orcNumber;
public Orc(String name, int orcNumber){
super(name);
this.orcNumber= orcNumber;
}
public void change(String name, int orcNumber){
set(name);
this.orcNumber= orcNumber;
}
public String toString(){
return"Orc"+ orcNumber+":"+ super.toString();
}
public static void main(String[] args){
Orc orc= new Orc("Limburger", 12);
System.out.println(orc);
orc.change("Bob", 19);
System.out.println(orc);
}
}
结果:
sample.Orc@11b86e7sample.Orc@11b86e7
如果去掉注释,即加入2个toString()方法后,得到
结果:
Orc12:I'm a Villain and my name is LimburgerOrc19:I'm a Villain and my name is Bob
2.在容器类中使用toString()
编写一个工具类,用于在控制台输出Iterator。
import java.util.Iterator;
public class Printer{
static void printAll(Iterator e){
while(e.hasNext()){
System.out.println(e.next());
}
}
}
在Hamster类中重写父类的toString()方法。
public class Hamster{
private int hamsterNumber;
public Hamster(int hamsterNumber){
this.hamsterNumber=hamsterNumber;
}
public String toString(){
return"This is Hamster#"+hamsterNumber;
}
}
在HamsterMaze类中使用容器类加载Hamster类对象并输出结果。
import java.util.ArrayList;
import java.util.List;
public class HamsterMaze{
@SuppressWarnings("unchecked")
public static void main(String[] args){
List list=new ArrayList();
for(int i=0;i<3;i++)
list.add(new Hamster(i));
Printer.printAll(list.iterator());
}
}
结果:
This is Hamster#0This is Hamster#1This is Hamster#2
3.一个实现toString()的通用的Bean
在作一个项目时发现,许多bean需要实现toString()方法,就实现一个通用的bean,然后通过其他继承即可。
import java.lang.reflect.Field;
public class BaseBean{
public String toString(){
StringBuffer sb= new StringBuffer();
try{
Class t= this.getClass();
Field[] fields= t.getDeclaredFields();
for(int i= 0; i< fields.length; i++){
Field field= fields[i];
field.setAccessible(true);
sb.append("{");
sb.append(field.getName());
sb.append(":");
if(field.getType()== Integer.class){
sb.append(field.getInt(this));
} else if(field.getType()== Long.class){
sb.append(field.getLong(this));
} else if(field.getType()== Boolean.class){
sb.append(field.getBoolean(this));
} else if(field.getType()== char.class){
sb.append(field.getChar(this));
} else if(field.getType()== Double.class){
sb.append(field.getDouble(this));
} else if(field.getType()== Float.class){
sb.append(field.getFloat(this));
} else
sb.append(field.get(this));
sb.append("}");
}
} catch(Exception e){
e.printStackTrace();
}
return sb.toString();
}
}
测试类
public class TestBean extends BaseBean{
private int id;
public int getId(){
return id;
}
public void setId(int id){
this.id= id;
}
public static void main(String[] args){
TestBean testBean= new TestBean();
testBean.setId(9);
System.out.println(testBean.toString());
}
}
结果
{id:9}
Exception()
构造详细消息为 null的新异常。
Exception(String message)
构造带指定详细消息的新异常。
Exception(String message, Throwable cause)
构造带指定详细消息和原因的新异常。
Exception(Throwable cause)
在java中,如果一个对象未重写toString()方法,那么它将会调用父类的toString(),如果父类也没有重写这个方法,那么就迭代往上调用,直到Object的toString()方法。
我们在打印这个toStirng()方法的时候,会出现XXXX@e29820字样,那么@后面的值到底是什么呢,它是对象所在的内存地址么?下面我们来证明:
package oliver.examination.part1;
import java.util.ArrayList;
import java.util.List;
public class ObjectToStringTest{
private static final int SIZE=10000;
public static void main(String[] args)
{
//创建列表存放对象
List<Object> list= new ArrayList<Object>();
int existNumber=0;
//新建SIZE个对象,如果toStirng代表的是内存地址,地址是不会重复的,
//那么list中应该不会存在重复的元素。
//list的大小应该为SIZE
for(int i=0;i<SIZE;i++){
Object obj= new Object();
if(list.contains(obj.toString())){
System.out.println("对象:"+obj.toString()+"已存在!");
existNumber++;
}else
list.add(obj.toString());
}
System.out.println("列表List的大小:"+list.size());
System.out.println("重复元素的个数:"+existNumber);
System.out.println
//清空list
list.clear();
existNumber=0;
//新建一个对象的时候,变量名是对这个对象的应用(相当于对象的"地址")
//利用这个原理,我们再测试
for(int i=0;i<SIZE;i++){
Object obj= new Object();
if(list.contains(obj)){
System.out.println("对象:"+obj+"已存在!");
existNumber++;
}else
list.add(obj.toString());
}
System.out.println("列表List的大小:"+list.size());
System.out.println("重复元素的个数:"+existNumber);
}
}
运行结果如下:
对象:java.lang.Object@922804已存在!
对象:java.lang.Object@e29820已存在!
列表List的大小:9998
重复元素的个数:2
列表List的大小:10000
重复元素的个数:0
查看Object源代码:
public String toString(){
return getClass().getName()+"@"+ Integer.toHexString(hashCode());
}
exo是什么文件
扩展名是文件名的一部分,每个文件的名中最后一个小点后边的部分(文件可以无扩展名)就是文件的扩展名,通常文件扩展名由3或4个不同的字符组成,可以是数字、字母、符号.你可以把文件的扩展名理解为是文件的“身份证”,不同的扩展名决定了不同文件类型和作用.
A
ACE:Ace压缩档案格式
ACT:Microsoft office助手文件
AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
ANI:Windows系统中的动画光标
ARC:LH ARC的压缩档案文件
ARJ:Robert Jung ARJ压缩包文件
ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming
format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件
ASF:Microsoft高级流媒体格式文件
ASM:汇编语言源文件,Pro/E装配文件
ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST:Astound多媒体文件;ClarisWorks“助手”文件
Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)
A3L:Authorware 3.x库文件
A4L:Authorware 4.x库文件
A5L:Authorware 5.x库文件
A3M,A4M:Authorware Macintosh未打包文件
A3W,A4W,A5W:未打包的Authorware Windows文件
B
BAK:备份文件
BAS:BASIC源文件
BAT:批处理文件
BIN:二进制文件
BINHex:苹果的一种编码格式
BMP:Windows或OS/2位图文件
BOOK:Adobe FrameMaker Book文件
BOX:Lotus Notes的邮箱文件
BPL:Borlard Delph 4打包库
BSP:Quake图形文件
BUN:CakeWalk声音捆绑文件(一种MIDI程序)
C
C0l:台风波形文件
CAB:Microsoft压缩档案文件
CAD:Softdek的Drafix CAD文件
CAM:Casio照相机格式
CAP:压缩音乐文件格式
CAS:逗号分开的ASCⅡ文件
CCB:Visual Basic动态按钮配置文件
CCH:Corel图表文件
CCO:CyberChat数据文件
CCT:Macromedia Director Shockwave投影
CDA:CD音频轨道
CDF:Microsoft频道定义格式文件
CDI:Philip的高密盘交互格式
CDM:Visual dBASE自定义数据模块文件
CDR:CorelDRAW绘图文件;原始音频CD数据文件
CDT:CorelDRAW模板
CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CFG:配置文件
CGI:公共网关接口脚本文件
CGM:计算机图形元文件
CH:OS/2配置文件
CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM:编译过的HTML文件
CHP:Ventura Publisher章节文件
CHR:字符集(字体文件)
CHT:ChartViem文件;Harvard Graphics矢量文件
CIF:Adaptec CD创建器 CD映像文件
CIL:Clip Gallery下载包
CIM:SimCity 2000文件
CIN:OS/2改变控制文件用于跟踪INI文件中的变化
CLASS:Java类文件
CLP:Windows剪贴板文件
CLL:Crick Software Clicker文件
CLS:Visual Basic类文件
CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CPI:Microsoft MS-DOS代码页信息文件
CPL:控制面板扩展名,Corel颜色板
CPP:C++代码文件
CPR:Corel提供说明书文件
CPT:Corel照片-绘画图像
CST:Macromedia Director Cast文件
CUR:Windows光标文件
D
DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel
97打开);Oracle 8.1.x表格空间文件
DBX:DataBearn图像;Microsoft Visual FoxPro表格文件
DCT:Microsoft Visual FoxPro数据库容器
DCU:Delphi编译单元文件
DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏
DIR:MacromediaDirector文件
DLL:动态链接库
DOC:FrameMaker或FrameBuilder文档;Word Star文档、Word
Perfect文档、Microsoft:Word文档;DisplayWrite文档
DOT:Microsoft Word文档模板
DPL:Borland Delph 3压缩库
DRV:驱动程序
DRW:Micrografx Designer/Draw;Pro/E绘画文件
DSF:Micrografx Designer VFX文件
DSG:DOOM保存的文件
DSM:Dynamic Studio音乐模块(MOD)文件
DSP:Microsoft Developer Studio工程文件
DSQ:Corel QUERY(查询)文件
DST:刺绣机图形文件
DSW:Microsoft Developer Studio工作区文件
DTA:World Bank(世界银行)的STARS数据文件
DTD:SGML文档类型定义(DTD)文件
DTED:地面高度数字数据(图形的数据格式)文件
DTF:Symantec Q&A相关的数据库数据文件
DTM:DigiTrakker模块文件
DUN:Microsoft拔号网络导出文件
DV:数字视频文件(MIME)
DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式
DXR:Macromedia Director受保护(不可编辑)电影文件
E
EDA:Ensoniq ASR磁盘映像
EDD:元素定义文档(FrameMaker+SGML文档)
EDE:Ensoniq EPS磁盘映像
EDK:Ensoniq KT磁盘映像
EDQ:Ensoniq SQ1/SQ2/Ks32磁盘映像
EDS:Ensoniq SQ80磁盘映像
EDV:Ensoniq VFX-SD磁盘映像
EFA:Ensoniq ASR文件
EFE:Ensoniq EPS文件
EFK:Ensoniq KT文件
EFQ:Ensoniq SQ1/SQ2/Ks32文件
EFS:Ensoniq SQ80文件
EFV:Ensoniq VFX-SD文件
EMD:ABT扩展模块
EMF:Windows增强元文件
EML:Microsoft Outlook Express邮件消息(MIME RTC822)文件
EXE:可执行文件(程序)
F
FAV:Microsoft Outlook导航条
FAX:传真类型图像
FCD:虚拟CD-ROM
FDF:Adobe Acrobat表单文档文件
FLA:Macromedia Flash电影
FND:Microsoft Explorer保存的搜索文件(Find applet)
FON:系统字体
FRT:Microsoft FoxPro报表文件
FRX:Visual Basic表单文本;Microsoft FoxPro报表文件
FXP:经Microsoft FoxPro编译的源文件
G
GDM:铃声、口哨声和声音板模块格式
GetRight:GetRight未完成的下载文件
GHO:Norton克隆磁盘映像
GID:Windows 95全局索引文件(包括帮助状态)
GIF:CompuServe位图文件
GL:动画格式
GRP:程序管理组
exo-m
exo-k
关于什么是java中dsf的内容到此结束,希望对大家有所帮助。