
JAVA
程序员Linc
资深技术专家,专注移动开发与人工智能领域15年+
展开
-
Android实战技巧之五十二:fastjson
1、JSONJSON全称为JavaScript Object Notation,是一种轻量级的数据交换格式。 正因为数据格式简单,所以占用带宽小,网络传输的速度更快些。这一点是老前辈xml的硬伤。JSON的语法也很简单: 数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组下面是微信公众帐号开发中获取token的JSON返回值{"access_token":"I73NddJk_1原创 2016-06-10 12:32:10 · 10483 阅读 · 1 评论 -
Java数组那些事儿
一、foreach循环这个是在1.5时加上的,现代计算机语言大多都有这个。例子如下:public class Test1{ public static void main(String[] args) { String[] stringArray = {"linc","lincoln","james"}; for(String tmp:stringArray) { Sy原创 2013-03-28 20:00:34 · 2047 阅读 · 1 评论 -
一些Java运算符的细节
一、m+=n与m=m+n的异同一般情况下这两者是相同的,但下面的例子中就有了差别。public class Test{ public static void main(String[] args) { short width = 10; width += 2;//ok System.out.println(width); width = width + 1;//原创 2013-03-27 20:15:19 · 1962 阅读 · 0 评论 -
Java super 那些事儿
super是this的父辈。从面相对象的角度说,这两个概念是很好理解的。子类从父类继承过来,父类的protected及以上的属性和方法在子类中是天生就具有的。那么,为什么还要有super这个关键字?第一、看父类的构造子类构造时要先调用父类的默认构造函数的,这与C++的构造属性一致。当父类有多个构造函数时,你需要指定调用哪个。这是就需要使用super(arg1,arg2...)。需要原创 2013-03-12 20:56:29 · 2882 阅读 · 0 评论 -
Java this 那些事儿
本我过去在哪里,自我即应在哪里。---弗洛伊德总要有个事物来代表类的当前对象,就像C++中的this指针一样,Java中的this关键字就是代表当前对象的引用。它有三个主要的作用:1、在构造方法中调用其他构造方法。 比如有一个Student类,有三个构造函数,某一个构造函数中调用另外构造函数,就要用到this(),而直接使用Student()是不可以的。2、返回当前对原创 2013-03-10 11:24:34 · 4462 阅读 · 1 评论 -
Java的命令行参数
与类C语言一样,main函数都可以传入参数,这被称为命令行参数。有些情况下这个参数还是很有意义的,比如Android源码中就会体现。Java中的命令行参数是如下格式的:main(String[] args)或者可以使用类C的数组写法:main(String args[])有赖于Java数组的长处,直接提供了此参数数组的长度,不用像C语言一样另外传入一个参数。原创 2013-03-07 21:15:37 · 13687 阅读 · 0 评论 -
Jar包那些事儿
JAR全名Java Archive,直译为Java归档文件。它是一种文件格式,以zip文件为基础(经过压缩),主要用途是发布Java程序,部署和封装库、组件等。在Android、J2EE等平台下,jar包用来做库和组件的用途比较多。尤其在项目中有框架的情况,把框架以jar包的形式发布,好处多多。下面我就如何做成上述两种jar包分别说明。在JDK环境中提供jar工具,它的主要功能就是可以原创 2013-02-02 12:40:50 · 2568 阅读 · 0 评论 -
JavaDoc那些事儿
让程序员写一千行代码容易,要让他写一千字的文档就难了。如果在代码中按照约定写一些注释,代码完成时相对应的文档就会自动生成就好了。JavaDoc就是这么一个工具(在JDK/bin下可以找到),它从源代码中抽取类、方法、成员等注释形成一个与源代码配套的API文档。大家阅读的Java官网API和Android官网API就是用此技术来完成的。大家可以尝试用命令行:javadoc -help 来原创 2013-02-02 22:21:32 · 5336 阅读 · 2 评论 -
Java编译那些事儿
在JDK bin目录下有个叫javac的工具,这是Java提供专用于将Java源程序转成Java字节码的编译器。它是一个命令行工具,而且在刚学Java时,老师都要求从命令行编译程序开始,然后在使用IDE。命令行编译javac的使用还是很简单的,别看它的参数不少。C:\Documents and Settings\Administrator>javac -help用法:javac原创 2013-01-29 21:09:48 · 19020 阅读 · 3 评论 -
移动开发四国语言概览二:标识符
定义:一、标识符是指常量、 变量、语句标号以及用户自定义函数的名称,以及后来的接口名、类名。C语言规定标识符只能由字母、数字、 下划线组成,并且只能由字母、下划线开头;并且不能使用关键字做标识符。C++对标识符的规定与C语言相同。Objective-C也同上。Java可以使用$符号开头和任意位置,其余同上。Java标识符的约定:1、类和接口通常使用名词,每个单词的首字母原创 2012-08-13 20:56:02 · 2572 阅读 · 1 评论 -
移动开发四国语言概览一:背景
当今移动开发炙手可热,以iPhone、Android、WP和Symbian、Bada等几大系统瓜分天下。而相关的开发语言成为进入移动圣殿的钥匙,它们是:Objective-C、Java、C#和C++。先来看看7月份的编程语言排名:在来看看8月份的排名:大家看到了,排在前五名的是C、Java、Objective-C、C++和C#。经常关注语言排名的童鞋应该惊诧的发现,原创 2012-08-12 13:54:54 · 5276 阅读 · 2 评论 -
看看我是谁--Java instanceof 那些事儿
长辈们常说:人啊,什么时候都不能够忘本。经过上两篇this和super的讲解,可以让自己知道什么调用自己的方法和成员,什么时候调用父类的方法和成员,那么对外人来说,如何区分一个对象到底是父类还是某个子类的实例呢?Java中关键字instanceof是专门为此而生的。当一个子类的实例赋值给一个父类的变量,这是Java多态的一种表现。而有时我们又想知道它到底是谁。在this那一讲有个父类叫St原创 2013-03-19 21:03:26 · 1757 阅读 · 0 评论 -
从java的数组初始化想到的
大家都知道Java中数组的声明、定义和初始化是这样一气呵成的(动态初始化): int mm[]; mm=new int[4]; mm[0]=1; mm[1]=2; mm[2]=4; mm[3]=5;当然也可以一次性解决(静态初始化): int mm[]={原创 2011-08-19 20:26:42 · 2797 阅读 · 2 评论 -
Android问题集锦转载之三:Javah 常见错误记录-NDK与JNI除错
测试文件:hello-jni/src/com/example/hellojni/HelloJni.java /** * 该文件来自 Android NDK Sample - HelloJni, 为了便于说明问题,我作了一些修改。 */package com.example.hellojni;public class HelloJni{ public n转载 2011-06-06 21:54:00 · 10491 阅读 · 2 评论 -
String、StringBuffer和StringBuilder之间的区别
<br /><br />String是固定不变的,而StringBuffer和StringBuilder可以改变它们的值。<br />StringBuffer和StringBuilder唯一的区别是StringBuilder是同步的。当系统需要运行单线程时,使用StringBuilder比较好。StringBuilder比StringBuffer更有效用。<br />选择原则:如果你的文本(字符串)不会改变就用String类因为String对象是不可变的。如果你的文本(字符串)可以改变并且在单线程中访问,使翻译 2011-04-19 11:20:00 · 8472 阅读 · 3 评论 -
Java用SAX解析XML文件示例
本文转自新浪博客:http://blog.sina.com.cn/s/blog_492dbb6b0100fa4a.html此文的方法是SAXParser的基本用法,在Android开发中同样适用。以下为原文:SAX 解析器采用了基于事件的模型,它在解析 XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存转载 2014-01-14 15:20:58 · 2643 阅读 · 0 评论 -
Java文件操作I
<!--pre {font-family:"DejaVu Sans",sans-serif}p {margin-bottom:0.21cm}-->首先让我们来思考一下什么是文件。这里的文件专指计算机中的文件,如我们经常使用的txt文本文件、word文档、视频文件、音频文件、windows系统下的exe可执行文件、编写程序的源代码文件等等,我们平时上网冲浪浏览原创 2013-06-08 17:18:13 · 3369 阅读 · 0 评论 -
eclipse导入J2ME中的例子
注:本文主要描述Midlet Suite工程的导入,然而你想要导入C/C++/Java工程,本文所述方法同样适用,请继续阅读。 如你所知,用J2ME开发手机游戏通常会用到eclipse+jdk+WTK的工具组合。安装WTK之后,在WTK的apps目录下有许多现成的例子,这对于学习很有帮助。那么如何将这些项目导入到eclipse开发环境下,并进行修改和调试呢?eclipse似乎没有VC6.0那转载 2010-07-21 11:21:00 · 3799 阅读 · 0 评论 -
J2ME中时间的使用
时间处理在程序开发中相当常见,下面对于时间处理做一个简单的说明。一、时间的表达方式时间在J2ME中有两种表达方式:1、以和GMT1970年1月1号午夜12点和现在相差的毫秒数来代表这种方式适合比较两个时间之间的差值。2、以对象的形式来表达二、时间处理的相关类时间处理在J2ME中涉及三个类:1、System类long time转载 2010-07-21 14:51:00 · 1819 阅读 · 1 评论 -
eclipse打开或导入其他项目时乱码的解决方法
出现这个问题的主要原因是:windows下默认的编码方式是GBK,而导入的java源文件编码是UTF-8。解决方法是:改变原文件的编码方式。在源文件上右击,选择“Properties”,选择左边的“Resource”,然后在右边Text file encoding下的Other选择UTF-8.原创 2011-02-22 08:56:00 · 2875 阅读 · 0 评论 -
搭建开发平台—WTK
主要讲述J2ME新手最常使用的开发工具Wireless Toolkit(WTK)。从WTK的安装、到MIDlet项目的创建、以及最后的打包发布,一步步带领读者进入MIDlet的开发世界!1 什么是J2ME Wireless ToolkitWTK 的全称是Sun J2ME Wireless Toolkit —— Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开转载 2011-01-20 10:12:00 · 2391 阅读 · 0 评论 -
J2ME RMS相关小问题
1、建立的数据库的位置:C:/Users/Administrator/j2mewtk/2.5.2/appdb/DefaultColorPhone原创 2010-05-24 11:54:00 · 1344 阅读 · 0 评论 -
J2ME触摸屏的模拟器
D:/WTK2.5.2/wtklib/devices/DefaultColorPhone下DefaultColorPhone.properties,修改# Touchscreen support###############touch_screen=true原创 2010-07-20 15:23:00 · 1509 阅读 · 0 评论 -
Eclipse一闪而过启动不了的解决
今天在Windows2003服务器上安装java开发环境,之前一个同事装了半道jdk,发现装不上了,我接手。在我看来,装java开发环境不外乎两步,一是装jdk,从官网下载来安装就成,另外,从我机器拷过去也成。然后配置好环境变量。二是装eclipse,也是绿色软件,直接拷过来就可以。可问题就出现在eclipse,本以为直接就可以运行了,打开后就一闪而过,没有报错,郁闷。在eclipse原创 2011-03-25 10:21:00 · 5395 阅读 · 0 评论 -
Java异常解决:Constructor call must be the first statement in a constructor
当我在这个构造函数中调用其他构造函数时出现了这个错误 public Busline(int id,String lineNum,String type,String startAndEndTime, String company,String startRoute,String endRoute, String mark,String other) {原创 2011-12-06 21:49:57 · 29788 阅读 · 4 评论 -
Android中与外部进程通信和调用外部程序
当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。之前我写过两篇关于进程的笔记,请看:http://blog.youkuaiyun.com/lincyang/article/details/5897080 和 http://blog.youkuaiyun.com/lincy原创 2011-08-06 23:01:25 · 6184 阅读 · 0 评论 -
Java 中的 ClassPath 和 Package
发信人: SuperMMX (笑天子), 信区: Java 标 题: [整理] Java 的 Class Path 和 Package 发信站: BBS 水木清华站 (Mon Apr 9 08转载 2011-08-06 12:46:24 · 2820 阅读 · 0 评论 -
整型int和字节数组byte相互转换
<br />public class Test { public static void main(String args[] ) { int i = 212123; byte[] b = toByteArray(i, 4); //整型到字节, System.out.println( "212123 bin: " + Integer.toBinaryString(212123));//212123的二进制表示 Syst转载 2011-01-27 10:40:00 · 12256 阅读 · 0 评论 -
Java字符串转换为日期和时间比较大小
<br />DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); String dateBegin=fmt.format(carrierCommand.getDateBegin()); String dateEnd=fmt.format(carrierCommand.getDateEnd()); //如果获得的日期格式不是'2008-05-22',就必须要格式化一下日期 String dateBegin = request.getPa转载 2010-11-08 13:26:00 · 2546 阅读 · 0 评论 -
c++和java中的字符和字节
<br /><br />在 C++ 和 Java 中,用来代表“字符”和“字节”的数据类型,以及进行编码的方法:类型或操作C++Java字符wchar_tchar字节charbyteANSI 字符串char[]byte[]UNICODE 字符串wchar_t[]String字节串→字符串mbstowcs(), MultiByteToWideChar()string = new String(bytes, "encoding")字符串→字节串wcstombs(), WideCharToMultiByte()b转载 2010-11-27 10:31:00 · 2201 阅读 · 0 评论 -
Java中string的null和“”对比
Java中字符串的比对用string.equals(object)来做, 但与空字符串比对的时候要注意,如果是“”话,用string.equals(“”), 如果是null的时候,string.equals(null)会报错, 应该使用string==null来比对。原创 2010-08-13 13:35:00 · 6049 阅读 · 1 评论 -
java中字符数组和字符串的相互转换
<br />java中String类很强大,好好学习它,对初学者很重要。<br />字符串和字符数组的转换是很常见的,请看下面代码。<br /> <br />char[] a={ 'a ', 'b ', 'c '}; String b=new String(a);//字符数组到字符串 char[] c=b.toCharArray();//字符串转换成字符数组原创 2010-07-18 18:56:00 · 35690 阅读 · 0 评论 -
Java中的foreach
<br />public void printArray(int[] data) { for (int i : data) { System.out.print(i + " "); } System.out.println(); } <br />等价于<br />for (int i = 0;i < data.length;i++){ S原创 2010-07-17 15:11:00 · 1185 阅读 · 0 评论 -
递归函数之JAVA演绎
<br /><br /><br />1、递归函数的定义:<br /><br />答:递归函数即自调用函数,在函数体内直接或间接的调用自己,即函数的嵌套是函数本身。<br /><br />2、递归方式:递归调用有直接递归和间接递归两种方式。<br /><br />A:直接递归:在函数中出现调用函数本身。<br /><br />示例1:下面代码求斐波那契数列第n项,斐波那契数列第一和第二项是1,后面每一项是前两项之和,即1、1、2、3、5、8、13 ...。<br /><br />程序代码:<br /><br转载 2010-07-18 20:59:00 · 1131 阅读 · 0 评论 -
关于java递归算法
<br /> <br /> public class Test { static int multiply(int n){ if(n==1||n==0) return n; else return n*multiply(n-1); } public static void main(String[] args){ System.out.println(multiply(10)); } }转载 2010-07-18 20:57:00 · 1565 阅读 · 3 评论 -
JAVA排序汇总
<br />package com.wepull.jbs.lesson4; import java.util.Random; /** * * 排序测试类 * * * * 排序算法的分类如下: * * 1.插入排序(直接插入排序、折半插入排序、希尔排序); * * 2.交换排序(冒泡泡排序、快速排序); * * 3.选择排序(直接选择排序、堆排序); * * 4.归并排序; * * 5.基数排序。 * * * *转载 2010-07-17 13:35:00 · 1225 阅读 · 0 评论 -
数字转换汉字大写
<br /> <br />方式一:<br />MoneyUtil.java<br />public class MoneyUtil { public static String[] chineseDigits = new String[] { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; /** * 把金额转换为汉字表示的数量,小数点后四舍五入保留两位转载 2010-07-17 11:23:00 · 1977 阅读 · 0 评论 -
java产生随机数的几种方式
<br />一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。 <br /><br />二.在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机long,这个也是我们在j2me的程序里经常用的一个取随机数的方法。 <br /><br转载 2010-07-17 10:52:00 · 1499 阅读 · 1 评论 -
Java日期时间及其格式化
本文转自:http://dengjianqiang200.blog.163.com/blog/static/65811920109145275546/1、java.util.Date类用于表示日期和时间,要获取当前时间,可以使用下面的代码:Date d = new Date(); System.out.println(d.toString()); 下面是输出的结果:Mon Feb 06 15:45:47 CST 2006如果想按照特定的格式进行输出,可以按照下面的方法完成,但是现在的版本中建议不要使用。i转载 2011-02-25 08:29:00 · 14944 阅读 · 1 评论 -
DES加密解密类-java
import java.security.*;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;/** * Copyright 2007 GuangZhou Cotel Co. Ltd. * All right reserved. * DES加密解密类.转载 2011-02-25 16:15:00 · 29920 阅读 · 0 评论