惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
小众软件
小众软件
V
V2EX
博客园 - Franky
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
量子位
博客园 - 【当耐特】
雷峰网
雷峰网
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - 小墨的童鞋

python计算月份的加减 git操作中出现Unlink of file '......' failed. Should I try again? IDEA建立Spring MVC Hello World 详细入门教程 IDEA手工添加webapp目录 解决错误:Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package. IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8 发票打印不全不完整的解决方案(Win10) Idea checkstyle插件的使用 .Net转Java.08.format 修复恢复"可疑"的SQLServer数据库 .Net转Java.07.IDEA和VS常用操作、快捷键对照表 .Net转Java.06.字符串的split的区别 .Net转Java.05.为啥MySQL没有nolock .Net转Java.04.踩到switch的坑 .Net转Java.03.受查异常和非受查异常 通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的 .Net转Java.01.从Main(main)函数说起 IDEA下Maven的Offline Mode 修改Arduino IDE默认字体
.Net转Java.02.数据类型
小墨的童鞋 · 2017-12-26 · via 博客园 - 小墨的童鞋

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