当前位置:首页 » 编程语言 » java类型比较

java类型比较

发布时间: 2022-11-26 19:20:04

⑴ 在java中怎么比较Double类型数据的大小

你如果是要普通比较直接用数学符号即可,指的在其jvm允许的范围内如果,你是要很准确的精度比较运算,由于精度问题,可能会有误差,建议使用BigDecimal类型!

//普通比较
Doubleobj1=newDouble("0.001");
Doubleobj2=newDouble("0.0011");
obj1.compareTo(obj2);

//精度准确比较
doublea=obj1;
doubleb=obj2;
BigDecimaldata1=newBigDecimal(a);
BigDecimaldata2=newBigDecimal(b);
data1.compareTo(data2);

//该方法两种类都有
publicintcompareTo(BigDecimalval)
/*将此BigDecimal与指定的BigDecimal比较。根据此方法,值相等但具有不同标度的两个BigDecimal对象(如,2.0和2.00)被认为是相等的。相对六个boolean比较运算符(<,==,>,>=,!=,<=)中每一个运算符的各个方法,优先提供此方法。
*参数:val-将此BigDecimal与之比较的BigDecimal。
*返回:当此BigDecimal在数字上小于、等于或大于val时,返回-1、0或1。
*/

⑵ Java中如何比较两种数据类型为同一种类型

public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }

这是String中equals的实现,b1是Boolean类型的,不是instanceof String,所以返回了false,然后就没有输出了。

⑶ 在Java中,如何比较两种数据类型是否属于同一种数据类型

对于两个
引用类型
对象obj1和obj2,判断它们的运行时类是否相同:
obj1.getClass() == obj2.getClass()对于一个基本类型对象
pt1
以及一个引用类型对象obj2,它们的类型必然不同,无需判断。
对于两个基本类型对象pt1以及
pt2
,它们的定义必然已经出现在方法定义中或是类定义的代码中,同样无需判断。

⑷ java中char类型是怎么进行比较的

char类型时,当是单个字符时时是可以用“==”比较的,但是当为字符串时则不可以,应用比较函数strcmp进行比较,strcmp函数在头文件"string.h"中,所以要用这个函数时前面还要包含这个头文件。

⑸ 在java的程序里date类型怎么比较大小呀

有两个方法:

方法一:

两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。

(5)java类型比较扩展阅读:

Date类可以在java.util包中找到,用一个long类型的值表示一个指定的时刻。它的一个有用的构造函数是Date(),它创建一个表示创建时刻的对象。

getTime()方法返回Date对象的long值。在下面的程序中,我使用Date()构造函数创建一个表示程序运行时刻的对象,并且利用getTime()方法找到这个日期代表的毫秒数量:

import java.util.*;

public class Now {

public static void main(String[] args) {

Date now = new Date();

long nowLong = now.getTime();

System.out.println("Value is " + nowLong);

}

}

⑹ java中date类型怎么比较大小

date 实现了Comparable 接口 调用compareTo(Date date)方法可以比较大小。

例如:比较date1 和 date2的大小

int res = date1.compareTo(date2),相等则返回0,date1大返回1,否则返回-1。

⑺ java中如何比较abc和ab

一种是基本数据类型的比较(8种基本数据类型int ,char,byte....... )就是直接比较的内容
第二种就是引用数据类型的比较
像String类型就是引用数据类型
在这种情况下“==”比较是栈中的物理地址(物理地址就想每个人家的门牌号码一样是唯一的)
二你要比较字符串的内容就要用equals();
用法是 String a;和String b; 比较a.equals(b);

⑻ java String类型比较

string类型比较有很多种,我们主要来讲一下用的比较多的两种(equals和==)
例如:
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
那么:
s1==s2 是 false //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,故不相等。
s1.equals(s2) 是 true //两个变量的所包含的内容是abc,故相等。
总结:"=="比较的是两个变量的内存地址,equals比较的是内容;
左上角有我头像,欢迎来学习交流;

⑼ java中有哪些类

如下:

String 字符串类

System 可得到系统信息

StringBuilder 字符串工具类

Thread 线程类

Math 与数学有关的工具类

ArrayList 底层用数组实现的集合

LinkedList 底层用链表实现的集合

HashMap 接口Map的一个实现类

HashSet 接口Set的一个实现类

Scanner 简单文本扫描器

Calendar 日期类

Date 日期类

File 目录或文件操作类

FileInputStream 输入流

FileOutputStream 输出流

BufferedInputStream 具有缓冲的输入流

BufferedOutputStream 具有缓冲的输出流

BufferedReader 从字符输入流中读取文本,缓冲各个字符

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

⑽ 如何在java里面对Object的类型值进行一个大小的比较

作者:Tao Li
链接:https://www.hu.com/question/36897771/answer/69763955
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

java中类的比较一般有两种方法,一种就是类本身实现Comparable<T>这个接口,比如通过对用户的姓名进行比较排序:

package com.ailot.compare;

public class User implements Comparable<User> {

private String name;
private int age;
private String sex;

public User(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}

@Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}

@Override
public int compareTo(User u) {
// TODO Auto-generated method stub
int c = this.name.compareTo(u.name);
if(c==0){
return 0;
}else if(c > 0){
return 1;
}else{
return -1;
}
}
}

Test.java

package com.ailot.compare;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class Test {

public static void main(String[] args) {
List<User> userList = new ArrayList<User>();
for(int i=0;i<10;i++){
int s = new Random().nextInt(20);
User u = new User(s+"张三",i,"男");
userList.add(u);
}
Collections.sort(userList);
for(User user : userList){
System.out.println(user.toString());
}
}

}

排序的话直接用 Collections.sort( userList ) ;就可以了。
作者:Tao Li
链接:https://www.hu.com/question/36897771/answer/69763955
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

另一种就是类没有实现Comparable<T>这个接口,这就需要自己新建一个比较的类,通过实现Comparator<T>来对类进行比较,还是对User类的姓名进行比较排序:

User.java

package com.ailot.compare;

public class User {

private String name;
private int age;
private String sex;

public User(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}

@Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}

UserCompare.java

package com.ailot.compare;

import java.util.Comparator;

public class UserCompare implements Comparator<User> {

@Override
public int compare(User u1, User u2) {
// TODO Auto-generated method stub
int c = u1.getName().compareTo(u2.getName());
if(c == 0){
return 0;
}else if(c < 0){
return -1;
}else{
return 1;
}
}

}

Test.java

package com.ailot.compare;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class Test {

public static void main(String[] args) {
List<User> userList = new ArrayList<User>();
for(int i=0;i<10;i++){
int s = new Random().nextInt(20);
User u = new User(s+"张三",i,"男");
userList.add(u);
}
Collections.sort(userList,new UserCompare());
for(User user : userList){
System.out.println(user.toString());
}
}

}

排序的话直接用 Collections.sort(userList,new UserCompare());就可以了。

热点内容
编译安卓内核源码 发布:2024-05-09 08:22:32 浏览:184
骑砍二霸主怎么连接联机服务器 发布:2024-05-09 08:21:58 浏览:545
c语言引用参数 发布:2024-05-09 08:21:58 浏览:251
怎么查看服务器流量 发布:2024-05-09 08:12:34 浏览:879
不用压缩泵 发布:2024-05-09 08:12:33 浏览:850
硬盘存储容量发展速度 发布:2024-05-09 08:06:47 浏览:786
微信在哪里密码锁 发布:2024-05-09 08:01:27 浏览:282
wifi安卓密码怎么改 发布:2024-05-09 07:51:00 浏览:618
百度地图androidapi 发布:2024-05-09 07:50:54 浏览:739
首板指标源码 发布:2024-05-09 07:50:18 浏览:520