java字符串(java字符串比较)

  • 时间:
  • 2528人关注

这是一篇关于java字符串比较的编程热门专题内容,被631位程序员关注,内容涉及到java、字符串、java字符串、java字符串转数字等,由束晨星编辑补充。

码农之家
精选文章1

23小时41分钟前整理

Javascript三种字符串连接方式及性能比较

第一种:用连接符“+”连接字符串

str="a";
str+="b";

这种方法相对以下两种,最便捷快速。建议100字符以下的连接使用这种连接方式。

第二种:以数组作为中介,使用jion函数进行连接

var arr=new Array();
arr.push(a);
arr.push(b);
var str=arr.join("");

第三种:利用对象属性连接字符串

function stringConnect(){
  this._str_=new Array();
}
stringConnect.prototype.append=function(a){
  this._str_.push(a);
}
stringConnect.prototype.toString=function(){
  return this._str_.join();
}
  var mystr=new stringConnect;
  mystr.append("a");
  var str=mystr.toString(); 

利用下面代码对三种方法性能进行比较,通过更改 c 的值来调整连接字符串的个数:

var str="";
var d1,d2;
var c=5000;//连接字符串的个数
//------------------------测试第三种方法耗费时间-------
 d1=new Date();
function stringConnect(){
  this._str_=new Array();
}
stringConnect.prototype.append=function(a){
  this._str_.push(a);
}
stringConnect.prototype.toString=function(){
  return this._str_.join("");
}
  var mystr=new stringConnect;

  for(var i=0;i<c;i++){
    mystr.append("a");
  }
str=mystr.toString();
 d2=new Date();
 console.log(d2.getTime()-d1.getTime());
//-----------------------------------------------------

//------------------------测试第二种方法耗费时间-------
d1=new Date();
  var arr=new Array();
for(var i=0;i<c;i++){
  arr.push("a");
}
str=arr.join("");
  d2=new Date();
console.log(d2.getTime()-d1.getTime());
//-------------------------------------------------------
//------------------------测试第一种方法耗费时间-------
d1=new Date();for(var i=0;i<c;i++){
  str+="a";
}
d2=new Date();
console.log(d2.getTime()-d1.getTime());
//-------------------------------------------------------

我调整 c 分别等于5000、50000、500000、5000000,每个数值分别测了10次,最后结果如下:

c=5000
                                                                             平均耗时(单位毫秒)

第三种   3   2   2   3   1   2  2  1   1   1                              1.8
第二种   1   3   0   3   1   3  4  1   4   2                              2.2
第一种   0   0   0   0   0   1  1  1   1   1                              0.5

c=50000

第三种   22  12     9   14    12   13   13   13   10   17          13.5
第二种   8    13   12     8    11   11     8     9     8    9          9.7
第一种   7    12     5    11   10   10   10    13   16  12          10.6

c=500000

第三种 104 70 74 69 76 77 69 102 73 73                            78.7
第二种 78 100 99 99 100 98 96 71 94 97                             93.2
第一种 90 87 83 85 85 83 84 83 88 86                                 85.4

c=5000000

第三种 651 871 465 444 1012 436 787 449 432 444             599.1
第二种 568 842 593 747 417 747 719 549 573 563               631.8
第一种 516 279 616 161 466 416 201 495 510 515               417.5

统计5000000的时候在地址栏加入了随机参数,应该是避免了缓存的影响的。从结果来看,第一种方法并不比另2种方法消耗多,甚至还更有优势,这点和手册上的说明明显不一致。

测试系统:win 7旗舰

浏览器:chrome 52.0.2739.0 m

总结

以上所述是小编给大家介绍的Javascript三种字符串连接方式及性能比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!

展开阅读
码农之家
精选文章2

14小时56分钟前整理

Java String类简单用法实战示例【字符串输出、比较】

本文实例讲述了Java String类简单用法。分享给大家供大家参考,具体如下:

一 String类的实例化方式

1 代码

public class NewString
{
  public static void main(String args[])
  {
    String str1= "Hello World!";       // 直接赋值建立对象str1
    System.out.println("str1:" + str1) ;    //输出
    String str2 = new String("有志者事竟成") ;  // 构造法创建并初始化对象str2
    System.out.println("str2:" + str2) ;
    String str3 = "new" + "string";      //采用串联方式生成新的字符串str3
    System.out.println("str3:" + str3) ;
  }
}

2 运行

str1:Hello World!
str2:有志者事竟成
str3:newstring

二 字符串对象比较

1 代码

public class StringEquals
{
  public static void main(String args[])
  {
    String str1 = "Hello World!" ; // 直接赋值
    String str2 = "Hello World!" ; // 直接赋值
    String str3 = "Hello World1" ; // 直接赋值
    String str4 = new String("Hello World!") ; // 构造方法赋值
    String str5 = str2 ;  // 引用传递
    System.out.println(str1 == str2) ; // true
    System.out.println(str1 == str3) ; // false
    System.out.println(str1 == str4) ; // false
    System.out.println(str2 == str5) ; // true
    System.out.println(str1.equals(str2)) ; // true
    System.out.println(str1.equals(str3)) ; // false
    System.out.println(str2.equals(str5)) ; // true
  }
}

2 运行

true
false
false
true
true
false
true

更多关于java相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结》

希望本文所述对大家java程序设计有所帮助。

展开阅读
码农之家
精选文章3

23小时49分钟前整理

举例讲解JavaScript中将数组元素转换为字符串的方法

首先来看一下从一个数组中选择元素的方法slice():
源代码:

<!DOCTYPE html>
<html>
<body>
​
<p id="demo">Click the button to extract the second and the third elements from the array.</p>
​
<button onclick="myFunction()">Try it</button>
​
<script>
function myFunction()
{
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
var x=document.getElementById("demo");
x.innerHTML=citrus;
}
</script>
​
</body>
</html>   

测试结果:

Orange,Lemon

我们可以用数组的元素组成字符串,相关的join()方法使用例子:

源代码:

<!DOCTYPE html>
<html>
<body>
​
<p id="demo">Click the button to join the array elements into a string.</p>
​
<button onclick="myFunction()">Try it</button>
​
<script>
function myFunction()
{
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x=document.getElementById("demo");
x.innerHTML=fruits.join();
}
</script>
​
</body>
</html> 

测试结果:

Banana,Orange,Apple,Mango

直接转换数组到字符串则可以用toString()方法:
源代码:

<!DOCTYPE html>
<html>
<body>
​
<p id="demo">点击按钮将数组转为字符串并返回。</p>
​
<button onclick="myFunction()">点我</button>
​
<script>
function myFunction()
{
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 var str = fruits.toString();
 var x=document.getElementById("demo");
 x.innerHTML= str;
}
</script>
​
</body>
</html>

测试结果:

Banana,Orange,Apple,Mango 

展开阅读
码农之家
精选文章4 java字符串转字符数组

15小时8分钟前整理

java 字符串转化为字符数组的3种实现案例

你可以选择最简单的方法解题,但是你需要掌握所有的方法当做知识储备第一种最简单,但是其适用前提是输入: 4(个数) 然后是 1 2 3 4 (也就是输入数字),放入kk数组之中,输出1 2 3 4

import java.util.*;
public class Main
{
 public static void main(String args[])
 { 
 Scanner cn=new Scanner(System.in);
 int count=cn.nextInt();
 int []kk=new int[count];
 for(int i=0;i<count;i++)
 {
  int p=cn.nextInt();
  kk[i]=p;
 }
 for(int i=0;i<kk.length;i++)
  System.out.println(kk[i]);
 } 
}

第二种:

前提是输入: 4(个数 ) 然后是 1 2 3 4 (也就是输入数字),放入kk数组之中,输出1 2 3 4 ,这是另一种思路,作为学习,建议也掌握一下

import java.util.*;
public class Main
{
 public static void main(String args[])
 { 
 Scanner cn=new Scanner(System.in);
 
 int count=cn.nextInt(); //输入个数 
 String str=""; //我们是将第二行输入的当做字符串来处理的 方法如下:
 str=cn.nextLine();  //这个的作用就是吃掉输完数字之后 再输入字符的回车,这个很重要
 str=cn.nextLine();  //这个才是用来读入 1 2 3 4 这一行,不是一个一个读入的,是一行
 
 String []k=str.split(" ");  //这是用来分割str字符串的  互相分割的条件是 空格
 int []kk=new int[k.length]; //这是创建放1 2 3 4的数组
 for(int i=0;i<k.length;i++)
  kk[i]=Integer.parseInt(k[i]); //这是强制转换成int类型的
 
 for(int i=0;i<kk.length;i++)
  System.out.println(kk[i]);  
 } 
}

第三种:

前提是输入: 4(个数 ) 然后是 1 2 3 4 (也就是输入数字),放入kk数组之中,输出1 2 3 4 这次换一个思路,

import java.util.*;
public class Main
{
 public static void main(String args[])
 { 
 Scanner cn=new Scanner(System.in);
 
 int count=cn.nextInt();//输入个数 
 String str="";   //我们是将第二行输入的当做字符串来处理的 方法如下:
 str=cn.nextLine();  //这个的作用就是吃掉输完数字之后 再输入字符的回车,这个很重要
 str=cn.nextLine();  //这个才是用来读入 1 2 3 4 这一行,不是一个一个读入的,是一行
 
 int []kk=new int[count];
 int r=0;
 Scanner s=new Scanner(str);
 for(int i=0;i<str.length();i++)  //遍历字符串
 {
  while(s.hasNextInt())  //判断字符串挨个是不是数字的
  {
  int t=s.nextInt();  //放入kk数组之中
  kk[r]=t;
  r++;
  }
 }
 for(int j=0;j<kk.length;j++)
  System.out.println(kk[j]);   
 } 
}

补充知识:java.将一个字符数组拷贝至另一个字符数组的三种方法

我就废话不多说了,大家还是直接看代码吧~

package normalTest;
import java.util.Arrays;
public class normalTest {
  public static void main(String[] args) {
    int[] arr = {1, 2, 3, 4};
    int[] arr2 = new int[arr.length];

    // 第一种方法:循环添加至新数组中
    for (int i = 0; i < arr.length; i++) {
      arr2[i] = arr[i];
    }
    System.out.println(Arrays.toString(arr2));

    // 第二种方法:使用 System.arraycopy
    // System.arraycopy(数据源, 从上面位置开始复制, 目标数组, 从什么位置开始粘贴, 共复制多少个元素)
    System.arraycopy(arr, 0, arr2, 0, arr.length);
    System.out.println(Arrays.toString(arr2));

    // 第三种方法:使用 Arrays.copyOf
    // Arrays.copyOf(原始数组, 新数组长度)
    arr2 = Arrays.copyOf(arr, arr.length);
    System.out.println(Arrays.toString(arr2));
  }
}

以上这篇java 字符串转化为字符数组的3种实现案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

展开阅读
码农之家
精选文章5 Java Date日期类型字段转json字符串

17小时3分钟前整理

Java将Date日期类型字段转换成json字符串的方法

想必我们在做项目的时候,都会遇到服务端与客户端交互数据。一般情况下我们都会采用json格式或者xml格式,将服务端的数据转换成这两种格式之一。

但是,如果我们将数据转换成json格式的时候,我们也许会遇到Date日期型的数据转换成json格式后,并不是我们想要的格式。下面我们通过简单的demo

来说明这个问题。

我们按照一般json格式生成,会出现以下问题:

采用json:将数据生成json格式,需要导入相应的jar包,如下图:

Student.java

package com.xbmu.bean;
 
import java.io.Serializable;
import java.util.Date;
public class Student implements Serializable {
	private String username;
	private Date birthday;
	
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Student(String username, Date birthday) {
		super();
		this.username = username;
		this.birthday = birthday;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	@Override
	public String toString() {
		return "Student [username=" + username + ", birthday=" + birthday + "]";
	}
}

TestDateValueToJson.java

package com.xbmu.test;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.json.JSONArray;
import com.xbmu.bean.Student;
public class TestDateValueToJson {
	public static void main(String[] args) {
		/**
		 * 创建三个student对象,并将对象添加到List集合中
		 * 
		 * */
		List<Student> list = new ArrayList<Student>();
		Student student = new Student("张三", new Date());
		list.add(student);
		student = new Student("李四",new Date());
		list.add(student);
		student = new Student("王五",new Date());
		list.add(student);
		
		/**将list集合众的数据转换成json格式的字符串形式*/
		JSONArray array = new JSONArray();
		array = array.fromObject(list);
		System.out.println(array.toString());

运行Java应用程序,看见在控制台是哪个打印出了:(这里通过json格式化工具处理后了,方便大家阅读)

[
 {
 "birthday": {
  "date": 3,
  "day": 4,
  "hours": 9,
  "minutes": 5,
  "month": 11,
  "seconds": 1,
  "time": 1449104701018,
  "timezoneOffset": -480,
  "year": 115
 },
 "username": "张三"
 },
 {
 "birthday": {
  "date": 3,
  "day": 4,
  "hours": 9,
  "minutes": 5,
  "month": 11,
  "seconds": 1,
  "time": 1449104701018,
  "timezoneOffset": -480,
  "year": 115
 },
 "username": "李四"
 },
 {
 "birthday": {
  "date": 3,
  "day": 4,
  "hours": 9,
  "minutes": 5,
  "month": 11,
  "seconds": 1,
  "time": 1449104701018,
  "timezoneOffset": -480,
  "year": 115
 },
 "username": "王五"
 }
]

虽然符合json语法格式,但是里面的birthday字段是日期型的,并不是我们一般情况下需要的。这时候,我们就必须写一个工具类进行处理了。

但遇到Date类型的数据的时候,就需要进行处理。

package com.xbmu.utils;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
/**
 * 自定义JsonValueProcessor
 * 比如我们要控制JSON序列化过程中的Date对象的格式化,以及数值的格式化,JsonValueProcessor是最好的选择。
 * @author bitaotao
 *
 */
public class JsonDateValueProcessor implements JsonValueProcessor {
	private String pattern = "yyyy-MM-dd";
 
	public Object processArrayValue(Object value, JsonConfig config) {
		return process(value);
	}
 
	public Object processObjectValue(String key, Object value, JsonConfig config) {
		return process(value);
	}
	private Object process(Object value){
		if(value instanceof Date){
			SimpleDateFormat sdf = new SimpleDateFormat(pattern, Locale.UK);
			return sdf.format(value);
		}
		return value == null ? "" : value.toString();
	}
 
}

除了自定义日期格式外,还可以如法炮制,控制数值格式化、HTML内容转码等。

TestDateValueToJson.java

package com.xbmu.test;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
import com.xbmu.bean.Student;
import com.xbmu.utils.JsonDateValueProcessor;
 
public class TestDateValueToJson {
	public static void main(String[] args) {
		/**
		 * 创建三个student对象,并将对象添加到List集合中
		 * 
		 * */
		List<Student> list = new ArrayList<Student>();
		Student student = new Student("张三", new Date());
		list.add(student);
		student = new Student("李四",new Date());
		list.add(student);
		student = new Student("王五",new Date());
		list.add(student);
		
		/**将list集合众的数据转换成json格式的字符串形式*/
		JsonConfig config = new JsonConfig();
		JsonDateValueProcessor jsonValueProcessor = new JsonDateValueProcessor();
		config.registerJsonValueProcessor(Date.class, jsonValueProcessor);
		JSONArray array = new JSONArray();
		array = array.fromObject(list,config);
		System.out.println(array.toString());
	}
}	

运行Java应用程序,会得到我们期望的json格式:

[
 {
  "birthday": "2015-12-03",
  "username": "张三"
 },
 {
  "birthday": "2015-12-03",
  "username": "李四"
 },
 {
  "birthday": "2015-12-03",
  "username": "王五"
 }
]

很显然这种日期格式,是我们经常使用的。也方便在客户端解析这种格式的json字符串。

总结

到此这篇关于Java将Date日期类型字段转换成json字符串的文章就介绍到这了,更多相关Java Date日期类型字段转json字符串内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!

展开阅读
码农之家
精选文章6

20小时43分钟前整理

用jQuery将JavaScript对象转换为querystring查询字符串的方法

在get方式的参数传递中,常常需要将JavaScript对象,转换成查询字符串,比如:

{ method: 'get', state: '200' }

会转换成

?method=get&state=200

方法1:用JavaScript

serialize = function(obj) {
 var str = [];
 for (var p in obj)
  if (obj.hasOwnProperty(p)) {
   str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
  }
 return str.join("&");
}
console.log(serialize({
 foo: "hi there",
 bar: "100%"
}));

输出:

// foo=hi%20there&bar=100%25

方法2: 用jQuery插件

jQuery的$.param内置此方法,可直接使用:

var data = { method: 'get', state: '200' }
var send = $.param(data)
console.log(send)
// method=get&state=200

jQuery 的get方法会默认使用 $.param 转换的参数:

$.get('/test', { a: 1, b: 1}) 
> GET http://ourjs.com/test?a=1&b=1 404 (Not Found)

总结

以上所述是小编给大家介绍的用jQuery将JavaScript对象转换为querystring查询字符串的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

展开阅读
码农之家
精选文章7

22小时46分钟前整理

java把字符串转化成公式计算的示例

如下所示:

static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");

Object aa = jse.eval(indexFormula)

以上这篇java把字符串转化成公式计算的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

展开阅读
码农之家
精选文章8

13小时32分钟前整理

python 转换 Javascript %u 字符串为python unicode的代码

web采集的数据为 %u6B63%u5F0F%u4EBA%u5458,需要读取并转换为python对象,想了下不调用Javascript去eval,只能自己翻译了。

核心代码:

import re
import codecs
pattern = re.compile('%u[0-9A-Z]{4}')

n = codecs.open('d:\\new.txt', 'w', 'utf-8') 
with open('d:\\p', 'r') as f:
 for l in f:
  for i in pattern.findall(l):
   l = l.replace(i, unichr(int(i[2:], 16)))
   n.write(l)

n.close()

展开阅读

参考资料

  • 同构JavaScript应用开发

    同构JavaScript应用开发

    大小:10.4 MBJavaScript

    立即下载
  • Java人机猜拳游戏源码

    Java人机猜拳游戏源码

    大小:7.79 KBJava游戏源码

    立即下载
  • 2020Java面试题整理

    2020Java面试题整理

    《2020Java面试题整理》 面试题含有redis,netty,mysql,kafka,并发编程,spring,dubbo,以及思维导图学习笔记,适合20k以上突击。 本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,详细的介绍了redis,netty,mysql,kafka,并发编程,spring等Java知识点,以及各大企业面试笔试中的特性与侧重点,面试的高频题目,反复出现在近5年各大公司的笔试和面试中,对面试备考有着极强的参考价值,相信你了解和掌握之后一定会有所提高。让我们一起来看看

    大小:62.5 MBJava面试

    立即下载
  • 企业级Java EE架构设计精深实践

    企业级Java EE架构设计精深实践

    本书全面、深入介绍了企业级Java EE设计的相关内容,内容涵盖了Java EE架构设计的常见问题。语言简洁,思路清晰,示例丰富、完整,适合具有一定Java基础的读者阅读,尤其适合从事企业级Java EE软件架构和设计的人员阅读

    大小:84.3 MBJava

    立即下载
  • Java微服务实战

    Java微服务实战

    大小:43.2MBJava实战

    立即下载
  • Java面向对象程序设计

    Java面向对象程序设计

    《Java面向对象程序设计实验指导与习题解答》是《Java面向对象程序设计》(作者耿祥义,清华大学出版社出版,2010)的配套实验指导和习题解答。本书每章的上机实践由若干个实验组成。每个实验由相关知识点、实验目的、实验要求、实验模版、实验指导和实验报告组成。在进行实验之前,首先通过实验目的了解实验要完成的关键主题、通过实验要求知道本实验应达到怎样的标准,然后,完成实验模板,填写实验报告。本书的附录为主教材的习题参考解

    大小:63.5 KBJava

    立即下载
  • 零基础Java学习笔记

    零基础Java学习笔记

    14小时视频同步课程,手把手教你学编程 82个学习二维码,手机、PC同步学习 135个同步实例,强化知识理解 119个学习笔记,轻松化解学习障碍 本书从入门学习者的角度出发,通过通俗易懂的语言、丰富典型的实例,循序渐进地使读者在实践中学习Java编程知识,并提升自己的实际开发能力。全书共有17章,具体内容包括初识Java、Java语言基础、运算符与流程控制、面向对象基础、继承与多态、接口、异常处理、常用类、JSP基本语法、JSP内置对象、Servlet技术

    大小:110 MBJava

    立即下载
  • Java jdk12 API官方文档(jdk13帮助文档)

    Java jdk12 API官方文档(jdk13帮助文档)

    Java12 API文档,记录Java12语言中的类、方法、接口信息。目前官方最新版本jdk13,是这里提供 Java12 API官方文档CHM版和jdk13帮助文档html完整版 ,都是官方英文版的,需要的朋友可下载试试! ps:另外请查看右键-属性-解除锁定,否则点击 右边框不会显示相应内容 JDK13到今天已经发布快3个月了,之前有零零散散的试过一些新的特性,但却没有整体的整理一下。想到作为Java开发,连使用的JDK(Java Developerment Kit)有什么特性都不清楚,实在是有些不应

    大小:85.9 MBjdk12学习

    立即下载