Skip to content

Instantly share code, notes, and snippets.

View nathanchen's full-sized avatar

Nathan nathanchen

View GitHub Profile
@nathanchen
nathanchen / gist:4258315
Created December 11, 2012 12:47
JAVA - Getting the Current Method Name
String name = Thread.currentThread().getStackTrace()[1].getMethodName();
@nathanchen
nathanchen / JAVASCRIPT - check user's screen resolution
Created November 5, 2012 09:40
JAVASCRIPT - check user's screen resolution
if ((screen.width < 1024) && (screen.height < 768))
{
document.write("<link rel='stylesheet' type='text/css' href='template/sunflower/styles_only.css' />")
}
else
{
document.write("<link rel='stylesheet' type='text/css' href='template/sunflower/styles_tri.css' />")
}
@nathanchen
nathanchen / JAVA - 操作BigDecimal
Created October 25, 2012 09:13
JAVA - 操作BigDecimal
import java.math.BigDecimal;
public class Arith
{
/**
* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。
*/
//默认除法运算精度
private static final int DEF_DIV_SCALE = 10;
@nathanchen
nathanchen / JAVA - Lucene FenciTest
Created October 9, 2012 05:36
JAVA - Lucene Fenci Test
public static void main(String[] args) throws IOException
{
Analyzer analyzer = new PaodingAnalyzer();
// String indexString = "被子U盘你平方米包的关于番禺供/电局增加乙类工作票签发人的请示西班牙语能源部九阳兔毛高筒雪地靴";
String indexString = "九阳";
StringReader reader = new StringReader(indexString);
TokenStream ts = analyzer.tokenStream(indexString, reader);
CharTermAttribute charTermAttribute = ts.addAttribute(CharTermAttribute.class);
while (ts.incrementToken()) {
@nathanchen
nathanchen / snippet.java
Created August 15, 2012 05:11
JAVA - entrySet remove&clear
public V standardRemove(@Nullable Object key)
{
Iterator<Entry<K, V>> entryIterator = entrySet().iterator();
while(entryIterator.hasNext())
{
Entry<K, V> entry = entryIterator.next();
if(Objects.equals(entry.getKey(), key))
{
V value = entry.getValue();
entryIterator.remove();
@nathanchen
nathanchen / snippet.java
Created August 14, 2012 05:33
JAVA - String 前后pad以及repeat
/**
* <li>{@code padStart("7", 3, '0')} returns {@code "007"}
* <li>{@code padStart("2010", 3, '0')} returns {@code "2010"}
*/
public static String padStart(String string, int minLength, char padChar)
{
checkNotNull(string);
if(string.length() >= minLength)
{
@nathanchen
nathanchen / snippet.java
Created August 14, 2012 05:18
JAVA - 查看String是否为null或者空
public static String nullToEmpty(@Nullable String string)
{
return (string == null) ? "" : string;
}
public static @Nullable String emptyToNull(@Nullable String string)
{
return isNullOrEmpty(string) ? null : string;
}
@nathanchen
nathanchen / snippet.java
Created August 14, 2012 04:56
JAVA - 数组元素格式化输出
@visibleForTesting static String format (String template, @Nullable Object... args)
{
template = String.valueOf(template);
StringBuffer builder = new StringBuffer(template.length() + 16 * args.length);
int templateStart = 0;
int i = 0;
while(i < args.length)
{
int placeholderStart = template.indexOf("%s", templateStart);
@nathanchen
nathanchen / snippet.java
Created August 14, 2012 04:55
JAVA - 不能为null值
public static <T> T checkNotNull(T reference)
{
if(reference == null)
throw new NullPointerException();
return reference;
}
public static <T> T checkNotNull(T reference, @Nullable Object errorMessage)
{
if(reference == null)
@nathanchen
nathanchen / Java - 验证Object是否为数组
Created August 13, 2012 15:05
JAVA - 验证Object是否为数组
Object o;
StringBuffer sbuf;
if(! o.getClass().isArray())
{
safeObjectAppend(sbuf, o);
}
private static void safeObjectAppend(StringBuffer sbuf, Object o)