利用Java来模仿字符类型识别

博客介绍了在C和C++中可利用相关函数进行字符测试,而SQL或PL/SQL中无直接执行方式。可在PL/SQL中利用java.lang.Character类模仿功能,还说明了编辑和装载该类的代码,以及Oracle映射数据类型时的处理,最后给出了定义的Java包装类代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们分析字符数据的时候,我们首先要确定被检查的字符是什么类型。比如,当前字符是一个大写字母,一个数字,空格,一个控制字符或者仅仅只是一个字母?

   在C和C++中,包括ctype h和可以测试的各种函数可以迅速的给出答案。

在SQL或者PL/SQL中没有直接执行这些测试的;但是,我们可以在PL/SQL中利用java.lang.Character类来模仿一些功能。

你可以利用这些代码来编辑和装载这个类:

javac ctype.java
loadjava -user scott/tiger -oci8 -resolve ctype

Java的 java.lang.Character 类包含了一些测试,这些测试可以为Java中的字符值域任何字符工作。

当Oracle映射SQL数据类型到Java数据类型的时候,它将自动更改数据库字符设置或者改变字符设置到UCS-2中。通过构造已传递值周围的java.lang对象,不同的字符分类函数可以应用。

  为了完成这个功能,定义一个Java包装类,它可以接受一个串,第一个字符并返回静态测试的结果:

   public class ctype
{
    public static int isalnum(String s)
    {
        return Character.isLetterOrDigit(s.charAt(0)) ? 1 : 0;
    }
    public static int isalpha(String s)
    {
        return Character.isLetter(s.charAt(0)) ? 1 : 0;
    }
    public static int iscntrl(String s)
    {
        return Character.isISOControl(s.charAt(0)) ? 1 : 0;
    }
    public static int isdigit(String s)
    {
        return Character.isDigit(s.charAt(0)) ? 1 : 0;
    }
    public static int isspace(String s)
    {
        return Character.isWhitespace(s.charAt(0)) ? 1 : 0;
    }
    public static int islower(String s)
    {
        return Character.isLowerCase(s.charAt(0)) ? 1 : 0;
    }
    public static int isupper(String s)
    {
        return Character.isUpperCase(s.charAt(0)) ? 1 : 0;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值