.Net转Java.02.数据类型

.NET中常见的数据类型分类分别是值类型和引用类型

值类型包括(基元类型、struct、枚举)

引用类型包括(类、类、数组、接口、指针)

Java分为,基本类型和类

 C# Java 
值类型基元类型 基元数据类型 
 struct 无此概念 
 枚举 是引用类型 
引用类型  
 数组 数组 
 接口 接口 
 指针 无此概念在C#中需要打开unsafe才可使用

 

 

 

 

 

 

 

有点联系,但是区别还是很大的,对于Java基本类型只有8种,4种整型(int short long byte),2种浮点(float,double),1种字符(char),一种布尔(boolean)

如果非要跟.NET对应,就看下面这张表吧

 Java 基本类型C#基元数据类型取值范围
整型intint 
shortshort 
longlong 
-byte 不同!!!
byte sbyte 不同!!!
uint 
ushort 
ulong 
 浮点float float  
double double  
 字符char char  
 布尔boolean bool  

 

 

 

 

 

 

 

 

 

 

 

 

除去Java缺少的一部分类型(老实说,这些数据这么多年来在.NET里边也没有用到过),要注意的就是java的byte跟C#的byte取值范围不同

java的byte是从-128到127

.NET的byte是0到255

 看下面两个String转byte的例子

            // C# 代码
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes("小墨123");
            Console.WriteLine(String.Join(",", bytes)); // 输出 229,176,143,229,162,168,49,50,51
            Console.ReadLine();
        // Java代码
        byte[] bytes = "小墨123".getBytes("UTF8");
        StringBuilder b = new StringBuilder();
        for (byte item : bytes) {
            b.append(item).append(",");
        }
        System.out.println(b.toString()); // 输出为 -27,-80,-113,-27,-94,-88,49,50,51,

同样的字符串,同样UFT8编码,但是转化的byte[]数组却不同

转载于:https://www.cnblogs.com/wormday/p/8119947.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值