免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5712 | 回复: 13
打印 上一主题 下一主题

Java 数据类型 和 与String之间的转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-09-05 09:02 |只看该作者 |倒序浏览
[这个贴子最后由cinc在 2002/09/05 11:43am 编辑]

不是很复杂,知道以下的知识就够了:

1.Java 包括两种数据类型:
   原始数据类型(primitive data type):int, byte, float, long, boolean ...
   对象(Object):其他的都是对象,包括数组。


2.每种 原始数据类型 都有一个相对应的包装类(Wrapper Class):
   如 int 对应 Integer, float 对应 Float,有如下特性:

     1)包装类里的数值是无法修改的

     2)都有一个 构造方法,参数为 对应的原始数据类型,比如:
       new Integer (10), new Boolean (true)

     3)都有一个 构造方法,参数为一个字符串,把字符串转换为值,比如:
       new Integer ("10&quot, new Boolean ("true&quot

     4)有一个方法,可以把存在包装类里的值取出来:
        Integer.intValue(), Float.floatValue()&#59;
     5)有一个静态方法,不用创建一个对象就可以把字符串转换为值,比如:
        int i = Integer.parseInt("10&quot&#59;


3.String 和 StringBuffer
   每一个 Object 都有一个 toString() 函数。
   Java 里使用 操作符重载的地方只有一个: + 操作:
   如果两个操作数中有一个是 String,就调用另一个操作数的 toString,结果就变成
   两个 String 的相加。

   常用在 Exception 的处理中,比如:
   try {
   }catch (Exception e){
     System.out.println ("Error: " + e)&#59;
   }
   处理过程:"Error: " + e ->; "Error: " + e.toString()

   如果是 String 和 基本数据类型相加,就先把这个基本数据类型用他的包装类处理。
   "String" + 123 ->; "String" + Integer(123) ->; "String" + Integer(123).toString()

   String + String 的过程,Java 的内部处理过程(1.4以后)实际上是这样的:
   "String1" + "String2" ->; new StringBuffer("String1&quot.append("String2&quot.toString()

   先建立一个 StringBuffer, 再用 append 计算,最后把 StringBuffer 转换成 String
   原因是 String 是 不可修改的,StringBuffer 是可以修改的,字符串计算时还是用
   StringBuffer 比较快

所以,数据转换:
   int ->; String
    String newValue = "" + 10&#59;
   String ->; int
    int i = (new Integer("10&quot).intValue()&#59;
    int i = Integer.parseInt("10&quot&#59;

论坛徽章:
0
2 [报告]
发表于 2002-09-05 09:26 |只看该作者

Java 数据类型 和 与String之间的转换

技巧经验之谈,可凭精品

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2002-09-05 11:10 |只看该作者

Java 数据类型 和 与String之间的转换

int ->; String
   int intvalue = 10
   String newvalue = "" + intvalue&#59;
   String newvalue = String.praseString( intvalue )&#59;
   老大,这两种方法哪一个执行的效率高?一样?

还有intValue( )应该不是静态方法吧,(new Integer("10&quot).intvalue()&#59;静态方法不都是用class name加dot调用的吗?
   

论坛徽章:
0
4 [报告]
发表于 2002-09-05 11:35 |只看该作者

Java 数据类型 和 与String之间的转换

呵呵,intValue( )不是静态方法。我改下。

但静态方法可以被类调用,也可以被对象调用。
Thread.sleep()

Thread thread1&#59; thread1.sleep()

效率问题我也不是很清楚。;(

论坛徽章:
0
5 [报告]
发表于 2002-09-05 11:40 |只看该作者

Java 数据类型 和 与String之间的转换

[这个贴子最后由cinc在 2002/09/05 11:41am 编辑]

好像没有 String.praseString( String ) 这个函数吧。呵呵

只有 int Integer.parseInt( String ) 。
int i = Integer.parseInt("10&quot&#59;

论坛徽章:
0
6 [报告]
发表于 2002-09-05 11:41 |只看该作者

Java 数据类型 和 与String之间的转换

我用passwordinput=password.getText()&#59;方法来取输入在password中的信息,但编译时系统会说:C:\Program Files\Xinox Software\JCreator Pro\MyProjects\Music.java 使用或覆盖一个不鼓励使用的API。
注意:
使用-deprecation重新编译,以得到详细信息。
请问怎么样来获得输入在password中的信息呢?

论坛徽章:
0
7 [报告]
发表于 2002-09-05 11:47 |只看该作者

Java 数据类型 和 与String之间的转换

-deprecation 是说,getText() 是早版本的 java 函数,在新版本中已经不推荐使用乐(用乐也没事)

passwordinput 是什么类型的啊? TextField?

论坛徽章:
0
8 [报告]
发表于 2002-09-05 11:51 |只看该作者

Java 数据类型 和 与String之间的转换

我设置的passwordinput为String类型的,password是PasswordField,不知道对不对?

论坛徽章:
0
9 [报告]
发表于 2002-09-05 11:53 |只看该作者

Java 数据类型 和 与String之间的转换

PasswordField ,Java 里好像没有,是  JCreater 自带的吗?

去查查 PasswordField 的帮助看看。

论坛徽章:
0
10 [报告]
发表于 2002-09-05 12:07 |只看该作者

Java 数据类型 和 与String之间的转换

对不起,是JPasswordField,刚才打错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP