美文网首页
柒-关于Java变量类型定义及初始化的事情

柒-关于Java变量类型定义及初始化的事情

作者: 小秉子 | 来源:发表于2018-12-06 15:19 被阅读0次

1、这个世界让我觉得讨厌

其实我只是讨厌这个极端的世界,以及需要提前设定的很多痛苦的事情。
没了啦,只是我之前用的VB.Net以及JS都是对数据类型定义比较宽大的语言,突然来到Java我真的很难习惯,而且是极端不习惯。

2、关于String及char数据类型

JS里面,我是从来没考虑过char类型的,但当我来到了Java的世界我才发现是原来String其实不是天生的东西,详情可以看qauchangqingwei博客里面说的:

char是基本数据类型,而String是个类,属于引用数据类型。String类可以调用方法,具有面向对象的特征。

因为对于char[]以及String的长期混淆,当我看到一个函数的传入参数为(String userName, String database, char[] password)时,我很自然的输入了("San","Shi","Shu")
当然,毫无悬念地,错误了。
错误不要紧,知道char[]String不一样,并且转换就行了对吧?
("San","Shi","Shu".toCharArray())
反正对于这种真的很烦躁。

3、关于String数组定义

前期使用一个导出CSV的包,我看那个包的例程是需要调用ArrayList<String[]>的,那没问题,但接下来我想定义一个String[]的变量,接下来是我的定义方式:

ArrayList<String[]> csvData = new ArrayList<String[]>();
String[] csvHeader=new String()[];

哎呀!错了!?
错了!?!?!?
没错,是错了。
正确方式可以有:

String[] straHeader = new String[csvHeader.length + 2];
String[] straHeader = new String[2];
String[] csvHeader;

光定义就让我焦头烂额了,这种情况下就别纠结是否在定义时就必须确定数组大小等情况了。
我就是觉得为什么这么麻烦的语言居然使用率这么高,JS不好么?


4、关于String的相等判定

我在做分词后的词性判定是,发现一个很神奇的事情,代码如下:

for (org.ansj.domain.Term termEle : ToAnalysis.parse(str)) {
  if (termEle.getNatureStr() != "w" && termEle.getNatureStr() != "null") {
    System.out.println(termEle.getRealName() + "---|" + termEle.getNatureStr() + "|---"
      + ((Boolean) (termEle.getNatureStr().toString() == "w")));
  }
}

反正就是当词性是w的时候就判断为true,结果!!!结果如下:

欢迎---|v|---false
使用---|v|---false
ansj---|en|---false
seg---|en|---false
,---|w|---false
(---|w|---false
ansj---|en|---false
中文---|nz|---false
分词---|v|---false
)---|w|---false
......

各位看官能发现有问题么!?
当然在我之前说的那个文章是有介绍这种情况以及原因的,反正String的相等就不要用==了,用termEle.getNatureStr().equals("w"),就是equals()函数。


这东西耗了我2个小时,我还以为分词的包有问题呢....


5、大小写问题以及数据类型的问题

在定义数据类型时,首先必须关键字注意Stringstring是不同的,相对int以及IntChar以及char也是不同的东西,这是被微软害苦了的人的苦苦相告。
其余像Integerint这种东西可以参考 java面试题之int和Integer的区别这种文章,实在让人太疯狂了我觉得。

6、无奖竞猜

我是否会在本系列写到“拾”之前完全没有Java的内容呢?

相关文章

  • 柒-关于Java变量类型定义及初始化的事情

    1、这个世界让我觉得讨厌 其实我只是讨厌这个极端的世界,以及需要提前设定的很多痛苦的事情。没了啦,只是我之前用的V...

  • Java基础02_变量_数据类型_类型转换_运算符

    主要内容 变量 Java数据类型 Java数据类型转换 运算符 学习目标 掌握变量的定义、初始化、使用及注意事项 ...

  • scala之变量

    JAVA中定义变量数据类型 变量名数据类型 变量名 = 初始值 SCALA中定义变量var 变量名 = 初始化值或...

  • Java变量初始化

    Java的变量初始化 变量类型 + 变量名 + 值

  • Java中的变量

    Java中的变量 一、变量类型 局部变量:方法和语句块内定义的变量。(必须初始化后使用) 成员变量:方法外部,类的...

  • Java变量运算符和表达式, 2021-08-14

    (2021.08.14 Sat) 变量 Java变量初始化时需要指定变量类型,如 Java中共有8种基本数据类型,...

  • 7.C语言复合类型(自定义类型)

    结构体 变量的定义和初始化 共三种方式 先声明结构体类型再定义变量名 在声明类型的同时定义变量 直接定义结构体类型...

  • 02-GoLang定义变量

    变量的常规定义 1、1定义一个变量,先定义再初始化 1.2定义的同时初始化 1.3定义的同时初始化并省略数据类型 ...

  • Java ClassLoader机制及初始化步骤

    Java类加载及变量初始化过程 Java虚拟机是如何将编译好的class文件加载成为Java类型?加载之后如何初始...

  • 基本语言

    变量与基本类型 变量初始化规则内置型变量是否自动初始化取决于其定义的位置,定义在函数体外部的都将初始化为0,定义为...

网友评论

      本文标题:柒-关于Java变量类型定义及初始化的事情

      本文链接:https://www.haomeiwen.com/subject/sohocqtx.html