• .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[]数组却不同

  • 相关阅读:
    Java 基础 | 命名和运算
    JSON类型解析
    Python 实例方法、类方法、静态方法的区别与作用
    Python中logging模块的基本用法
    python中局部变量和全局变量
    C# 中 引用类型和值类型
    VS2008+SVN插件的使用
    使用linq to xml 怎么减小内存消耗
    linq to xml 中SaveOptions和LoadOptions的介绍
    C# 中==和Equals方法在引用类型中的区别
  • 原文地址:https://www.cnblogs.com/wormday/p/8119947.html
Copyright © 2020-2023  润新知