.Net转Java.02.数据类型

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

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

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

Java分为,基本类型和类ui

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

 

 

 

 

 

 

 

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

若是非要跟.NET对应,就看下面这张表吧spa

  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到127code

.NET的byte是0到255blog

 看下面两个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[]数组却不一样

相关文章
相关标签/搜索