.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#基元数据类型 取值范围
整型 int int  
short short  
long long  
- 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[]数组却不同

posted @ 2017-12-26 21:22  小墨的童鞋  阅读(390)  评论(0编辑  收藏  举报