搜索到关键字为 substring 的相关日志 3 篇: ("[空格]和"+"[加号] 可作搜索分隔符号使用.)

String的substring和subSequence的区别 rainy

      今天截取字符串的时候,无意中发现了subSequence,并且不小心用上了,呵呵,发现同样能和substring一样截取,效果一模一样。我就好奇地翻看了一下源码:

public CharSequence subSequence(int beginIndex, int endIndex) {
          return this.substring(beginIndex, endIndex);
}

      根据JDK的文档,String.subSequence只是为了实现CharSequence接口上的同名方法而放在那里的,其行为与String.substring一样。

区别是:substring和subSequence的返回类型不一样,substring返回的是String,subSequence返回的是实现了CharSequence接口的类,也就是说使用subSequence得到的结果,只能使用CharSequence接口中的方法。不过在String类中已经重写了subSequence,调用subSequence方法,可以直接下转为String对象。

SQL 存储过程使用CHARINDEX分隔逗号,间隔的数组 cloud

这里假设有 一串数组变量 "appNum1,appNum2,appNum3,appNum4,appNum5,appNum6,appNum7,appNum8"

当我们需要在存储过程中遍历这个数组的子项时,我们可以通过 CHARINDEX 或者结合Left,Right来分隔和遍历它

注意:由于字符串index的计算问题,下面定义变量的时候,需要在最后面增加一个逗号",",否则遍历的时候将缺少最后一个子项

方法一:

代码
  1. declare @item varchar(50),@rowName varchar(200)  
  2. declare @m int,@n int,@i int 
  3. Set @rowName='appNum1,appNum2,appNum3,appNum4,appNum5,appNum6,appNum7,appNum8,' 
  4. Set @m=CHARINDEX(',',@rowName)  
  5. Set @n=1  
  6. Set @i=0  
  7. WHILE  @m>0  
  8.     BEGIN         
  9.         Set @item=SubString(@rowName,@n,@m-@n)  
  10.         Print Cast(@i as varchar)+'-'+@item  
  11.         Set @i=@i+1  
  12.         Set @n=@m+1       
  13.         Set @m=CHARINDEX(',',@rowName,@n)  
  14.     END 

方法二:

代码
  1. DECLARE @s varchar(4000)  
  2. DECLARE @i int 
  3. Set @i=0  
  4. SET @s='appNum1,appNum2,appNum3,appNum4,appNum5,appNum6,appNum7,appNum8,'     
  5. WHILE CHARINDEX(',',@s)>0     
  6.     BEGIN     
  7.         Print Cast(@i as varchar)+'-'+LEFT(@s,CHARINDEX(',',@s)-1)  
  8.         Set @i=@i+1    
  9.         SET @s=RIGHT(@s,LEN(@s)-CHARINDEX(',',@s))     
  10.     END 

两个方法的运行结果都是:
0-appNum1
1-appNum2
2-appNum3
3-appNum4
4-appNum5
...

分享我现在用的图形验证码Servlet源码 suny

演示:点击评论栏目的用户名文本框 即可显示 验证码http://www.javawind.net/5b016f381a9e3f16011a9ebe0b570002.jhtml

------------------------------------------------------------------------------------

package org.javawind.servlet;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
...