Calendar Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
<strong>[icu enhancement]</strong> ICU's replacement for java.util.Calendar.
[Android.Runtime.Register("android/icu/util/Calendar", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class Calendar : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Lang.IComparable
[<Android.Runtime.Register("android/icu/util/Calendar", ApiSince=24, DoNotGenerateAcw=true)>]
type Calendar = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface IComparable
- Herança
- Derivado
- Atributos
- Implementações
Comentários
<strong>[icu enhancement]</strong> ICU's replacement for java.util.Calendar. Métodos, campos e outras funcionalidades específicas da UTI são rotulados como '<strong>[icu]</strong>'.
Calendar é uma classe base abstrata para converter entre um Date objeto e um conjunto de campos inteiros, como YEAR, MONTH, DAYe HOURassim por diante. (Um Date objeto representa um instante específico no tempo com precisão de milissegundos. Consulte Date informações sobre a Date classe.)
Subclasses de interpretação de Calendar acordo Date com as regras de um sistema de calendário específico. O ICU4J contém várias subclasses implementando diferentes sistemas de calendário internacionais.
Assim como outras classes sensíveis à localidade, Calendar fornece um método getInstancede classe para obter um objeto geralmente útil desse tipo.
Calendar's getInstance method returns a calendar of a type appropriate to the locale, whose time fields have been initialized with the current date and time: <blockquote>
Calendar rightNow = Calendar.getInstance()
</blockquote>
Quando um ULocale é usado por getInstance, sua marca 'calendar' e valor são recuperados se presentes. Se um valor reconhecido for fornecido, um calendário será fornecido e configurado conforme apropriado. Atualmente, as marcas reconhecidas são "budista", "chinês", "copta", "etépico", "gregoriano", "hebraico", "islâmico", "islâmico-civil", "japonês" e "roc". Por exemplo: <blockquote>
Calendar cal = Calendar.getInstance(new ULocale("en_US@calendar=japanese"));
</blockquote> retornará uma instância de JapaneseCalendar (usando convenções de en_US para dias mínimos na primeira semana, dia de início da semana, etc.).
Um Calendar objeto pode produzir todos os valores de campo de tempo necessários para implementar a formatação de data e hora para um determinado idioma e estilo de calendário (por exemplo, japonês-gregoriano, Japanese-Traditional).
Calendar define o intervalo de valores retornados por determinados campos, bem como seu significado. Por exemplo, o primeiro mês do ano tem valor MONTH == JANUARY para todos os calendários. Outros valores são definidos pela subclasse concreta, como ERA e YEAR. Consulte a documentação de campo individual e a documentação de subclasse para obter detalhes.
Quando um Calendar é <em>lenient</em>, ele aceita uma gama mais ampla de valores de campo do que produz. Por exemplo, uma interpretaçãoGregorianCalendarMONTH == branda JANUARY , DAY_OF_MONTH == 32 como 1º de fevereiro. Uma não branda GregorianCalendar gera uma exceção quando determinadas configurações de campo fora do intervalo. Quando os calendários recompõem valores de campo para serem retornados, get()eles os normalizam. Por exemplo, um GregorianCalendar sempre produz DAY_OF_MONTH valores entre 1 e o comprimento do mês.
Calendar define uma semana de sete dias específica da localidade usando dois parâmetros: o primeiro dia da semana e os dias mínimos na primeira semana (de 1 a 7). Esses números são obtidos dos dados de recurso de localidade quando um Calendar é construído. Eles também podem ser especificados explicitamente por meio da API.
Ao definir ou obter o WEEK_OF_MONTH ou WEEK_OF_YEAR campos, Calendar deve determinar a primeira semana do mês ou ano como um ponto de referência. A primeira semana de um mês ou ano é definida como o primeiro período de sete dias que começa getFirstDayOfWeek() e contém pelo menos getMinimalDaysInFirstWeek() dias desse mês ou ano. Semanas numeradas ..., -1, 0 precedem a primeira semana; semanas numeradas 2, 3,... siga-o. Observe que a numeração normalizada retornada pode get() ser diferente. Por exemplo, uma subclasse específica Calendar pode designar a semana anterior à semana 1 de um ano como semana <em>n</em> do ano anterior.
Ao calcular um de Date campos de tempo, algumas circunstâncias especiais podem surgir: pode haver informações insuficientes para calcular o Date (como apenas ano e mês, mas nenhum dia no mês), pode haver informações inconsistentes (como "terça-feira, 15 de julho de 1996" -- 15 de julho de 1996 é na verdade uma segunda-feira), ou o tempo de entrada pode ser ambíguo por causa da transição de fuso horário.
<informações insuficientes fortes>.</strong> O calendário usará informações padrão para especificar os campos ausentes. Isso pode variar de acordo com o calendário; para o calendário gregoriano, o padrão para um campo é o mesmo do início da época: ou seja, ANO = 1970, MÊS = JANEIRO, DATA = 1, etc.
<informações inconsistentes fortes>.</strong> Se os campos entrarem em conflito, o calendário dará preferência aos campos definidos mais recentemente. Por exemplo, ao determinar o dia, o calendário procurará uma das seguintes combinações de campos. A combinação mais recente, conforme determinado pelo campo único definido mais recentemente, será usada.
<blockquote>
MONTH + DAY_OF_MONTH
MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
DAY_OF_YEAR
DAY_OF_WEEK + WEEK_OF_YEAR
</blockquote>
Para a hora do dia:
<blockquote>
HOUR_OF_DAY
AM_PM + HOUR
</blockquote>
<tempo forte>do relógio de parede ambíguo.</strong> Quando o deslocamento de tempo de UTC foi alterado, ele produz um intervalo de tempo ambíguo em torno da transição. Por exemplo, muitos locais dos EUA observam o horário de verão. Na data de mudança para o horário de verão nos EUA, o horário do relógio de parede salta das 00h59 (padrão) para as 2:00 da manhã (luz do dia). Portanto, o horário do relógio de parede das 1h às 1h59 não existe na data. Quando o tempo de parede de entrada cai nesse intervalo de tempo ausente, o Calendário da UTI resolve o tempo usando o deslocamento UTC antes da transição por padrão. Neste exemplo, 1:30 am é interpretado como 1:30 am hora padrão (não existe), portanto, o resultado final será 2:30 am horário de verão.
Na data de mudança de volta para a hora padrão, o horário do relógio de parede é movido para trás uma hora às 2:00 da manhã. Portanto, o horário do relógio de parede de 1:00 às 1:59 da manhã ocorre duas vezes. Nesse caso, o Calendário da UTI resolve o tempo usando o deslocamento UTC após a transição por padrão. Por exemplo, 1:30 da manhã na data é resolvida como hora padrão 1:30.
Comportamentos ambíguos de resolução de tempo de relógio de parede podem ser personalizados por APIs #setRepeatedWallTimeOption(int) de calendário e #setSkippedWallTimeOption(int). Esses métodos estão disponíveis na UTI 49 ou versões posteriores.
<Observação forte>:</forte> para alguns calendários não gregorianos, campos diferentes podem ser necessários para a desambiguação completa. Por exemplo, uma especificação completa do calendário astronômico árabe historial requer ano, mês, dia do mês <>em e</em> dia da semana em alguns casos.
<Observação forte>:/strong< Há certas ambiguidades possíveis na interpretação de determinados tempos singulares, que são resolvidos das seguintes maneiras: >ol<>li< 24:00:00 "pertence"> ao dia seguinte. Ou seja, 23:59 em 31 de dez de 1969 < 24:00 em 1º de janeiro de 1970 > 24:01:00 em 1º de janeiro de 1970
As cadeias de caracteres de formato de data ou hora não fazem parte da definição de um calendário, pois elas devem ser modificáveis ou substituíveis pelo usuário em runtime. Use DateFormat para formatar datas.
<métodos fortes>de manipulação de campo</forte>
Calendar os campos podem ser alterados usando três métodos: set(), add()e roll().
<campo de alterações > fortesset(f, value)<>/fortesf para .value Além disso, ele define uma variável de membro interna para indicar que o campo f foi alterado. Embora o campo f seja alterado imediatamente, os milissegundos do calendário não são recomputados até que a próxima chamada seja get()getTime()feita ou getTimeInMillis() feita. Portanto, várias chamadas para set() não disparar várias computações desnecessárias. Como resultado da alteração de um campo usando set(), outros campos também podem mudar, dependendo do campo, do valor do campo e do sistema de calendário. Além disso, get(f) não retornará necessariamente value depois que os campos forem recomputados. As especificidades são determinadas pela classe de calendário concreta.
<em>Exemplo</em>: considere um GregorianCalendar originalmente definido como 31 de agosto de 1999. A chamada set(Calendar.MONTH, Calendar.SEPTEMBER) define o calendário como 31 de setembro de 1999. Essa é uma representação interna temporária que é resolvida para 1º de outubro de 1999, se getTime()então for chamada. No entanto, uma chamada para set(Calendar.DAY_OF_MONTH, 30) antes da chamada para getTime() definir o calendário como 30 de setembro de 1999, já que nenhuma recomputação ocorre após set() si mesma.
<forte>add(f, delta)</forte> adiciona delta ao campo f. Isso é equivalente à chamada set(f, get(f) + delta) com dois ajustes:
<blockquote>
<strong>Add rule 1</strong>. O valor do campo f após a chamada menos o valor do campo f antes da chamada ser delta, modulo qualquer estouro que tenha ocorrido no campo f. O estouro ocorre quando um valor de campo excede seu intervalo e, como resultado, o próximo campo maior é incrementado ou decréscimo e o valor do campo é ajustado novamente em seu intervalo.
<strong>Add rule 2</strong>. Se espera-se que um campo menor seja invariável, mas é impossível que ele seja igual ao valor anterior devido a alterações no mínimo ou no máximo após a alteração do campo f e, em seguida, seu valor é ajustado para ser o mais próximo possível de seu valor esperado. Um campo menor representa uma unidade de tempo menor.
HOUR é um campo menor que DAY_OF_MONTH. Nenhum ajuste é feito em campos menores que não devem ser invariáveis. O sistema de calendário determina quais campos devem ser invariáveis.
</blockquote>
Além disso, ao contrário set(), add() força uma recomputação imediata dos milissegundos do calendário e de todos os campos.
<em>Exemplo</em>: considere um GregorianCalendar originalmente definido como 31 de agosto de 1999. A chamada add(Calendar.MONTH, 13) define o calendário como 30 de setembro de 2000.
<strong>Add rule 1</strong> define o MONTH campo para setembro, uma vez que adicionar 13 meses a agosto dá setembro do próximo ano. Como DAY_OF_MONTH não pode ser 31 em setembro em uma GregorianCalendar<regra de adição forte>2</strong> define como DAY_OF_MONTH 30, o valor mais próximo possível. Embora seja um campo menor, DAY_OF_WEEK não é ajustado pela regra 2, pois espera-se que ele mude quando o mês for alterado em um GregorianCalendar.
<adiciona forte>roll(f, delta)</forte >delta ao campo f sem alterar campos maiores. Isso é equivalente à chamada add(f, delta) com o seguinte ajuste:
<blockquote>
<regra roll forte>/forte<.> Campos maiores são inalterados após a chamada. Um campo maior representa uma unidade de tempo maior.
DAY_OF_MONTH é um campo maior que HOUR.
</blockquote>
<em>Exemplo</em>: considere um GregorianCalendar originalmente definido como 31 de agosto de 1999. A chamada roll(Calendar.MONTH, 8) define o calendário como 30 de abril, <forte>1999</forte>. Adicionar a regra 1 define o MONTH campo como abril. Usando um GregorianCalendar, o DAY_OF_MONTH não pode ser 31 no mês de abril. Adicionar a regra 2 define-a para o valor mais próximo possível, 30. Por fim, a <regra> de rolagem forte</forte> mantém o YEAR valor do campo de 1999.
<em>Exemplo</em>: considere um GregorianCalendar originalmente definido como domingo, 6 de junho de 1999. A chamada roll(Calendar.WEEK_OF_MONTH, -1) define o calendário como terça-feira, 1º de junho de 1999, enquanto a chamada add(Calendar.WEEK_OF_MONTH, -1) define o calendário para domingo, 30 de maio de 1999. Isso ocorre porque a regra de rolagem impõe uma restrição adicional: não MONTH deve ser alterada quando ela WEEK_OF_MONTH é rolada. Juntamente com a regra de adição 1, a data resultante deve ser entre terça-feira, 1º de junho e sábado, 5 de junho. De acordo com a regra de adição 2, o DAY_OF_WEEK, invariável ao alterar o WEEK_OF_MONTH, é definido como terça-feira, o valor mais próximo possível para domingo (onde domingo é o primeiro dia da semana).
<modelo> de uso forte</forte>. Para motivar o comportamento de eadd(), considere um componente de interface do roll() usuário com botões de incremento e decremento para o mês, dia e ano, e um subjacenteGregorianCalendar. Se a interface ler 31 de janeiro de 1999 e o usuário pressionar o botão de incremento do mês, o que ela deve ler? Se a implementação subjacente for usada set(), ela poderá ler 3 de março de 1999. Um resultado melhor seria 28 de fevereiro de 1999. Além disso, se o usuário pressionar o botão de incremento do mês novamente, ele deverá ler 31 de março de 1999, não 28 de março de 1999. Salvando a data original e usando ou add()roll(), dependendo se campos maiores devem ser afetados, a interface do usuário pode se comportar como a maioria dos usuários espera intuitivamente.
<b>Observação:</b> Você sempre deve usar #roll roll e #add add , em vez de tentar executar operações aritméticas diretamente nos campos de um Calendar. É bem possível que Calendar subclasses tenham campos com comportamento não linear, por exemplo, meses ou dias ausentes durante anos não bissextos. As subclasses add e roll os métodos levarão isso em conta, enquanto manipulações aritméticas simples podem fornecer resultados inválidos.
<Arquitetura de calendário big><><b>na ICU4J</b></big></big>
Recentemente, a implementação de Calendar mudou significativamente para dar melhor suporte à subclasse. A classe original Calendar foi projetada para dar suporte à subclasse, mas tinha apenas uma subclasse implementada. GregorianCalendar Com a implementação de várias novas subclasses de calendário, incluindo a BuddhistCalendarChineseCalendarHebrewCalendarIslamicCalendarJapaneseCalendarAPI de subclasse de subclasse foi retrabalhada minuciosamente. Esta seção detalha a nova API de subclasse e outras maneiras de android.icu.util.Calendar diferenciar .java.util.Calendar
<Big><b>Alterações</b></big>
Visão geral das alterações entre a arquitetura clássica Calendar e a nova arquitetura.
<ul>
<li>A fields[] matriz agora está private em vez de protected. As subclasses devem acessá-la usando os métodos #internalSet e #internalGet.
<b>As subclasses de motivação:</b> não devem acessar diretamente os membros de dados.</li>
<li>A time palavra longa agora é private em vez de protected. As subclasses podem acessá-lo usando o método #internalGetTimeInMillis, o que não provoca uma atualização.
<b>As subclasses de motivação:</b> não devem acessar diretamente os membros de dados.</li>
<li>O escopo da responsabilidade das subclasses foi drasticamente reduzido. O máximo de funcionalidade possível é implementado na Calendar classe base. Como resultado, é muito mais fácil subclasse Calendar.
<b>Motivação:</b> Subclasses não devem ter que reimplementar código comum. Determinados comportamentos são comuns em sistemas de calendário: a definição e o comportamento de campos e campos de tempo relacionados à semana, o comportamento aritmético (#add(int, int) add e #roll(int, int) roll) de muitos campos e o sistema de validação de campo.</li>
<li>A API de subclasse foi completamente reprojetada.</li>
<li>A Calendar classe base contém algum suporte algorítmico de calendário gregoriano que as subclasses podem usar (especificamente em #handleComputeFields). As subclasses podem usar os métodos getGregorianXxx() para obter valores pré-compilados.
<b>Motivação:</b> Isso é exigido por todas as Calendar subclasses para implementar um comportamento de fuso horário consistente e os sistemas derivados de Gregoriano podem usar os dados já computados.</li>
<li>A FIELD_COUNT constante foi removida. Use #getFieldCount. Além disso, a API da estrutura foi adicionada para permitir que subclasses definam campos adicionais.
<b>Motivação: </b>O número de campos não é constante entre sistemas de calendário.</li>
<li>O intervalo de datas tratadas foi restringido de +/- ~300.000.000 anos para +/- ~5.000.000 anos. Em termos práticos, isso não deve afetar os clientes. No entanto, isso significa que o código do cliente não pode ter resultados bem comportados garantidos com datas como Date(Long.MIN_VALUE) ou Date(Long.MAX_VALUE). Em vez disso, as Calendar constantes protegidas devem ser usadas.
<b>Motivação:</b> Com a adição do campo, os #JULIAN_DAY números do dia de Juliano devem ser restritos a um 32 bits int. Isso restringe o intervalo geral com suporte. Além disso, restringir o intervalo com suporte simplifica os cálculos removendo o código de maiúsculas e minúsculas especial que foi usado para acomodar o estouro aritmético em mililitros próximos Long.MIN_VALUE e Long.MAX_VALUE.</li>
<li>Novos campos são implementados: #JULIAN_DAY define a especificação de campo único da data.
#MILLISECONDS_IN_DAY define uma especificação de campo único do tempo de parede.
#DOW_LOCAL e #YEAR_WOY implemente o comportamento localizado do dia da semana e da semana do ano.</li>
<As subclasses li>podem acessar constantes de milissegundos protegidas definidas em Calendar.</li>
<
>li Nova API foi adicionada para dar suporte a subclasses específicas do calendário de DateFormat.</li>
<li>Várias subclasses foram implementadas, representando vários sistemas de calendário internacionais.</li>
</ul>
<API>< de Subclasse big>b</b></big>
A API original Calendar foi baseada na experiência de implementar apenas uma única subclasse. GregorianCalendar Como resultado, todas as dobras de subclasse não tinham sido trabalhadas. A nova API de subclasse foi refinada com base em várias subclasses implementadas. Isso inclui métodos que devem ser substituídos e métodos para que subclasses chamem. As subclasses não têm mais acesso direto a fields e stamp. Em vez disso, eles têm uma nova API para acessá-las. As subclasses são capazes de alocar a fields matriz por meio de um método de estrutura protegido; isso permite que as subclasses especifiquem campos adicionais.
Mais funcionalidade foi movida para a classe base. A classe base agora contém grande parte do maquinário computacional para dar suporte ao calendário gregoriano. Isso se baseia em duas coisas: (1) Muitos calendários são baseados no calendário gregoriano (como os calendários imperial budistas e japoneses). (2) <em>Calendários All</em> exigem suporte gregoriano básico para lidar com cálculos de fuso horário.
Cálculos comuns foram movidos para Calendar. As subclasses não computam mais os campos relacionados à semana e os campos relacionados ao tempo. Geralmente, elas são tratadas para todos os calendários pela classe base.
<b>Computação de subclasse de campos=> de tempo</b>
Os #ERAcampos , #YEAR, #EXTENDED_YEAR, #MONTH#DAY_OF_MONTHe #DAY_OF_YEAR são computados pela subclasse, com base no dia do Juliano. Todos os outros campos são computados por Calendar.
<ul>
<as subclasses li>devem ser implementadas #handleComputeFields para calcular os #ERAcampos, , #YEAR, #EXTENDED_YEAR#MONTH#DAY_OF_MONTHe #DAY_OF_YEAR , com base no valor do #JULIAN_DAY campo. Se houver campos específicos do calendário não definidos, Calendareles também deverão ser computados. Esses são os únicos campos que a subclasse deve computar. Todos os outros campos são computados pela classe base, portanto, os campos de hora e semana se comportam de forma consistente em todos os calendários. A versão padrão desse método implementa Calendar um calendário gregoriano proleptico. Dentro desse método, as subclasses podem chamar getGregorianXxx() para obter o mês do calendário gregoriano, o dia do mês e o ano estendido para a data determinada.</li>
</ul>
<b>Computação de subclasse de tempo=> de campos</b>
A interpretação da maioria dos valores de campo é tratada inteiramente por Calendar.
Calendar determina quais campos estão definidos, quais não são, que são definidos mais recentemente e assim por diante. Além disso, Calendar manipula a computação do tempo dos campos de tempo e manipula os campos relacionados à semana. A única coisa que a subclasse deve fazer é determinar o ano estendido, com base nos campos do ano, e então, dado um ano estendido e um mês, ele deve retornar um número de dia juliano.
<ul>
<as subclasses li>devem implementar #handleGetExtendedYear para retornar o ano estendido para este sistema de calendário, com base no #YEAR, #EXTENDED_YEARe em todos os campos que o sistema de calendário usa que são maiores que um ano, como #ERA.</li>
<as subclasses li>devem ser implementadas #handleComputeMonthStart para retornar o número de dia juliano associado a um mês e um ano estendido. Este é o número do dia juliano do dia anterior ao primeiro dia do mês. O número do mês é baseado em zero. Essa computação não deve depender de nenhum valor de campo.</li>
</ul>
<b>Outros métodos</b>
<ul>
<as subclasses li>devem implementar #handleGetMonthLength para retornar o número de dias em um determinado mês de um determinado ano estendido. O número do mês, como sempre, é baseado em zero.</li>
<as subclasses li>devem ser implementadas #handleGetYearLength para retornar o número de dias no ano estendido determinado. Esse método é usado para computeWeekFields calcular os campos e #WEEK_OF_YEAR os #YEAR_WOY campos.</li>
<as subclasses li>devem ser implementadas #handleGetLimit para retornar os valores protegidos de um campo, dependendo do valor de limitType. Esse método só precisa lidar com os campos #ERA, , #YEAR, #MONTH, #WEEK_OF_YEAR, #WEEK_OF_MONTH, #DAY_OF_MONTH, #DAY_OF_YEAR, , #DAY_OF_WEEK_IN_MONTH, #YEAR_WOYe #EXTENDED_YEAR. Outros campos são invariáveis (em relação ao sistema de calendário) e são tratados pela classe base.</li>
<li>Opcionalmente, as subclasses podem substituir #validateField para verificar os campos específicos de subclasse. Se o valor do campo estiver fora do intervalo, o método deverá gerar um IllegalArgumentException. O método pode chamar super.validateField(field) para manipular campos de maneira genérica, ou seja, para compará-los com o intervalo getMinimum(field)..getMaximum(field).</li>
<li>Opcionalmente, as subclasses podem substituir #handleCreateFields para criar uma int[] matriz grande o suficiente para manter os campos do calendário. Isso só será necessário se o calendário definir campos adicionais além daqueles definidos por Calendar. O comprimento do resultado deve estar entre as contagens de campo base e máxima.</li>
<li>Opcionalmente, as subclasses podem substituir #handleGetDateFormat para criar um DateFormat apropriado para este calendário. Isso só será necessário se uma subclasse de calendário redefinir o uso de um campo (por exemplo, alterar o #ERA campo de um campo simbólico para um numérico) ou definir um campo adicional.</li>
<li>Opcionalmente, as subclasses podem substituir #roll roll e #add add manipular campos descontinuados. Por exemplo, no calendário hebraico o mês &aspas; Adar I" ocorre apenas em anos bissextos; em outros anos, o calendário salta de Shevat (mês nº 4) para Adar (mês nº 6). Os HebrewCalendar#add HebrewCalendar.add métodos e levam HebrewCalendar#roll HebrewCalendar.roll isso em conta, de modo que a adição de 1 mês ao Shevat dê o resultado adequado (Adar) em um ano não bissexto. O método #pinField pinField utilitário protegido geralmente é útil ao implementar esses dois métodos.
</li>
</ul>
<Comportamento>< normalizado do big>b</b></big>
O comportamento de determinados campos tornou-se consistente em todos os sistemas de calendário e implementado em Calendar.
<ul>
<Li>Time é normalizado. Mesmo que alguns sistemas de calendário transitem entre dias ao pôr do sol ou em outras ocasiões, todos os calendários ICU4J fazem a transição entre os dias na <>zona local meia-noite</em>. Isso permite que o ICU4J centralize os cálculos Calendar de tempo e mantenha correspondências básicas entre sistemas de calendário. Campos afetados: #AM_PM, , #HOUR, #HOUR_OF_DAY, #MINUTE, #SECOND, #MILLISECOND, , #ZONE_OFFSETe #DST_OFFSET.</li>
<O comportamento de li>DST é normalizado. O comportamento do horário de verão é computado da mesma forma para todos os sistemas de calendário e depende do valor de vários GregorianCalendar campos: o #YEAR, #MONTHe #DAY_OF_MONTH. Como resultado, Calendar sempre computa esses campos, mesmo para sistemas de calendário não gregorianos. Esses campos estão disponíveis para subclasses.</li>
<Li>Weeks são normalizadas. Embora as localidades definam a semana de forma diferente, em termos do dia em que ela começa, e a designação da semana número um de um mês ou ano, todas elas usam um mecanismo comum. Além disso, o dia da semana tem uma definição simples e consistente ao longo da história. Por exemplo, embora o calendário gregoriano tenha introduzido uma descontinuidade quando instituída pela primeira vez, o dia da semana não foi interrompido. Por esse motivo, os campos #DAY_OF_WEEK, WEEK_OF_YEAR, WEEK_OF_MONTH, , #DAY_OF_WEEK_IN_MONTH#DOW_LOCALsão #YEAR_WOY todos computados de forma consistente na classe base, com base no #EXTENDED_YEAR, #DAY_OF_YEAR, #MONTHe #DAY_OF_MONTH, que são computados pela subclasse.</li>
</ul>
<intervalo com suporte>< do Big>B</b></big>
O intervalo permitido de Calendar foi restringido.
GregorianCalendar usado para tentar dar suporte ao intervalo de datas com valores de milissegundos de Long.MIN_VALUE até Long.MAX_VALUE. Isso introduziu construções embaraçosas (hacks) que desaceleraram o desempenho. Ele também introduziu um comportamento não uniforme nos limites. O novo Calendar protocolo especifica o intervalo máximo de datas compatíveis como aquelas com números de dia juliano de -0x7F000000 .+0x7F000000 Isso corresponde a anos de ~5.800.000 BCE a ~5.800.000 CE. Os programadores devem usar as constantes protegidas Calendar para especificar uma data extremamente precoce ou extremamente tardia.
<Notas gerais>< do big>b</b></big>
<ul>
<as implementações do li>Calendars são <em>proleptic</em>. Por exemplo, embora o calendário gregoriano não tenha sido instituído até o século XVI, a GregorianCalendar classe dá suporte a datas antes do início histórico do calendário estendendo o sistema de calendário para trás no tempo. Da mesma forma, o HebrewCalendar se estende para trás antes do início de sua época em anos zero e negativos. As subclasses não geram exceções porque uma data precede o início histórico de um sistema de calendário. Em vez disso, eles implementam #handleGetLimit para retornar limites apropriados em #YEARcampos etc #ERA. Em seguida, se o calendário estiver definido como não ser brando, os valores de campo fora do intervalo dispararão uma exceção.</li>
<as subclasses do sistema li>Calendar calculam<um >ano</em> estendido. Isso difere do #YEAR campo em que ele varia em todos os valores inteiros, incluindo valores zero e negativos, e encapsula as informações do #YEAR campo e de todos os campos maiores. Assim, para o calendário gregoriano, ele #EXTENDED_YEAR é computado como ERA==AD ? YEAR : 1-YEAR. Outro exemplo é a contagem longa maia, que tem anos (KUN) e ciclos aninhados de anos (KATUN e BAKTUN). O Maia #EXTENDED_YEAR é computado como TUN + 20 * (KATUN + 20 * BAKTUN). A Calendar classe base usa o #EXTENDED_YEAR campo para calcular os campos relacionados à semana.</li>
</ul>
Java documentação para android.icu.util.Calendar.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| Calendar() |
Constrói um calendário com o fuso horário padrão e a localidade padrão |
| Calendar(IntPtr, JniHandleOwnership) |
Cria uma instância gerenciada que representa um objeto Java existente. |
| Calendar(TimeZone, Locale) |
Constrói um calendário com o fuso horário e a localidade especificados. |
| Calendar(TimeZone, ULocale) |
Constrói um calendário com o fuso horário e a localidade especificados. |
Campos
| Nome | Description |
|---|---|
| Am |
Valor do |
| AmPm |
Obsoleto.
Número de campo para |
| April |
Valor do |
| August |
Valor do |
| BaseFieldCount |
O número de campos definidos por essa classe. |
| Date |
Obsoleto.
Número do campo para |
| DayOfMonth |
Obsoleto.
Número do campo para |
| DayOfWeek |
Obsoleto.
Número do campo para |
| DayOfWeekInMonth |
Obsoleto.
Número de campo para |
| DayOfYear |
Obsoleto.
Número do campo para |
| December |
Valor do |
| DowLocal |
Obsoleto.
<strong>[icu]</strong> Field number for |
| DstOffset |
Obsoleto.
Número de campo para |
| EpochJulianDay |
O dia juliano da época, ou seja, 1º de janeiro de 1970 no calendário gregoriano. |
| Era |
Obsoleto.
Número de campo para |
| ExtendedYear |
Obsoleto.
<strong>[icu]</strong> Field number for |
| February |
Valor do |
| Friday |
Valor do |
| GreatestMinimum |
Limite o tipo para |
| Hour |
Obsoleto.
Número do campo para |
| HourOfDay |
Obsoleto.
Número do campo para |
| InternallySet |
Valor do carimbo de data/ |
| IsLeapMonth |
<strong>[icu]</strong> Field indicando se o mês atual é ou não um mês bissexto. |
| Jan11JulianDay |
O dia juliano da época gregoriana, ou seja, 1º de janeiro, 1 no calendário gregoriano. |
| January |
Valor do |
| JulianDay |
Obsoleto.
<strong>[icu]</strong> Field number for |
| July |
Valor do |
| June |
Valor do |
| LeastMaximum |
Limite o tipo para |
| March |
Valor do |
| MaxFieldCount |
O número máximo de campos possível. |
| Maximum |
Limite o tipo para |
| MaxJulian |
O dia máximo de Julian com suporte. |
| MaxMillis |
O máximo de milissegundos de época com suporte. |
| May |
Valor do |
| Millisecond |
Obsoleto.
Número de campo para |
| MillisecondsInDay |
Obsoleto.
<strong>[icu]</strong> Field number for |
| Minimum |
Limite o tipo para |
| MinimumUserStamp |
Se o carimbo de data/ |
| MinJulian |
O dia mínimo de Juliano com suporte. |
| MinMillis |
O mínimo de milissegundos de época com suporte. |
| Minute |
Obsoleto.
Número de campo para |
| Monday |
Valor do |
| Month |
Obsoleto.
Número do campo para |
| November |
Valor do |
| October |
Valor do |
| OneDay |
O número de milissegundos em um dia. |
| OneHour |
O número de milissegundos em uma hora. |
| OneMinute |
O número de milissegundos em um minuto. |
| OneSecond |
O número de milissegundos em um segundo. |
| OneWeek |
O número de milissegundos em uma semana. |
| OrdinalMonth |
<strong>[icu]</strong> Field indicando o mês. |
| Pm |
Valor do |
| ResolveRemap |
Valor para OR em relação a valores de campo de tabela de resolução para remapeamento. |
| Saturday |
Valor do |
| Second |
Obsoleto.
Número do campo para |
| September |
Valor do |
| Sunday |
Valor do |
| Thursday |
Valor do |
| Tuesday |
Valor do |
| Undecimber |
Valor do |
| Unset |
Valor do carimbo de data/ |
| WalltimeFirst |
Obsoleto.
<
>Strong[icu]</strong>Option usado e |
| WalltimeLast |
Obsoleto.
<
>Strong[icu]</strong>Option usado por |
| WalltimeNextValid |
Obsoleto.
<
>Strong[icu]</strong>Option usado |
| Wednesday |
Valor do |
| WeekOfMonth |
Obsoleto.
Número do campo para |
| WeekOfYear |
Obsoleto.
Número do campo para |
| Year |
Obsoleto.
Número do campo para |
| YearWoy |
Obsoleto.
<strong>[icu]</strong> Field number for |
| ZoneOffset |
Obsoleto.
Número de campo para |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| FieldCount |
<strong>[icu]</strong> Retorna o número de campos definidos por este calendário. |
| FirstDayOfWeek |
Retorna o que é o primeiro dia da semana, em que 1 = |
| GregorianDayOfMonth |
Retorna o dia do mês (baseado em 1) no calendário gregoriano, conforme computado por |
| GregorianDayOfYear |
Retorna o dia do ano (baseado em 1) no calendário gregoriano, conforme calculado por |
| GregorianMonth |
Retorna o mês (baseado em 0) no calendário gregoriano, conforme calculado por |
| GregorianYear |
Retorna o ano estendido no calendário gregoriano conforme computado por |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| Instance |
Retorna um calendário usando o fuso horário e a localidade padrão. |
| IsWeekend |
<strong>[icu]</strong> Retorna true se a data e a hora atuais deste Calendário estiverem no fim de semana neste sistema de calendário. |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
<strong>[icu enhancement]</strong> ICU's replacement for |
| JniPeerMembers |
Obtém os metadados JNI usados para acessar membros dessa associação Java. |
| Lenient |
Informe se a interpretação de data/hora deve ser branda. -ou- Especifique se a interpretação de data/hora deve ou não ser branda. |
| MaxDate |
O máximo de |
| MinDate |
O mínimo com |
| MinimalDaysInFirstWeek |
Retorna quais são os dias mínimos necessários na primeira semana do ano. -ou- Define quais são os dias mínimos necessários na primeira semana do ano. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| RepeatedWallTimeOption |
<strong>[icu]</strong>Obtém o comportamento para lidar com o tempo de parede repetindo várias vezes em transições de deslocamento de fuso horário negativo. -ou- <strong>[icu]</strong>Define o comportamento para lidar com o tempo de parede repetindo várias vezes em transições de deslocamento de fuso horário negativo. |
| SkippedWallTimeOption |
<strong>[icu]</strong>Obtém o comportamento para lidar com o tempo de parede ignorado em transições de deslocamento de fuso horário positivo. -ou- <strong>[icu]</strong>Define o comportamento para lidar com o tempo de parede ignorado em transições de deslocamento de fuso horário positivo. |
| TemporalMonthCode |
Obtém o valor de MonthCode Temporal correspondente ao mês da data. -ou- Define o MonthCode Temporal, que é um identificador de cadeia de caracteres que começa com o grafo literal "M" seguido por dois grafemes que representam o número de mês adicionado zero do mês atual em um ano normal (não bissexto) e sufixo por um grafo literal opcional "L" se este for um mês bissexto em um calendário lunisolar. |
| ThresholdClass |
Obtém a classe Java usada para expedição de método virtual. |
| ThresholdType |
Obtém o tipo gerenciado que declara essa associação de Java. |
| Time |
Retorna a hora atual deste Calendário. -ou- Define a hora atual deste Calendário com a data fornecida. |
| TimeInMillis |
Retorna o tempo atual desse calendário como um longo. -ou- Define o tempo atual deste Calendário do valor longo fornecido. |
| TimeZone |
Retorna o fuso horário. -ou- Define o fuso horário com o valor de fuso horário fornecido. |
| Type |
<strong>[icu]</strong> Retorna a cadeia de caracteres de nome de tipo de calendário para este objeto Calendar. |
Métodos
| Nome | Description |
|---|---|
| Add(CalendarField, Int32) |
Adicione um valor assinado a um campo especificado usando as regras deste calendário. |
| After(Object) |
Compara os registros de campo de tempo. |
| Before(Object) |
Compara os registros de campo de tempo. |
| Clear() |
Limpa os valores de todos os campos de tempo. |
| Clear(CalendarField) |
Limpa o valor no campo de tempo fornecido. |
| Clone() |
Substitui Clonável |
| CompareTo(Calendar) |
Compara os tempos (em milis) representados por dois |
| Complete() |
Preenche todos os campos não definidos na lista de campos de tempo. |
| ComputeFields() |
Converte o valor |
| ComputeGregorianFields(Int32) |
Compute o ano civil gregoriano, mês e dia do mês do dia do Juliano. |
| ComputeGregorianMonthStart(Int32, Int32) |
Compute o dia juliano de um mês do calendário gregoriano. |
| ComputeJulianDay() |
Compute o número do dia do Julian, conforme especificado pelos campos deste calendário. |
| ComputeMillisInDay() |
Compute os milissegundos no dia a partir dos campos. |
| ComputeTime() |
Converte os valores de campo atuais no |
| ComputeZoneOffset(Int64, Int32) |
Esse método pode pressupor EXTENDED_YEAR foi definido. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
<strong>[icu enhancement]</strong> ICU's replacement for |
| Equals(Object) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| FieldDifference(Date, CalendarField) |
<strong>[icu]</strong> Retorna a diferença entre o tempo determinado e a hora em que esse objeto de calendário está definido. |
| FieldName(CalendarField) |
Retorna um nome de cadeia de caracteres para um campo, para depuração e exceções. |
| FloorDivide(Int32, Int32, Int32[]) |
Divida dois inteiros, retornando o chão do quociente e o resto do módulo. |
| FloorDivide(Int32, Int32) |
Divida dois inteiros, retornando o chão do quociente. |
| FloorDivide(Int64, Int32, Int32[]) |
Divida dois inteiros, retornando o chão do quociente e o resto do módulo. |
| FloorDivide(Int64, Int64) |
Divida dois inteiros longos, retornando o chão do quociente. |
| Get(CalendarField) |
Retorna o valor de um determinado campo de tempo. |
| GetActualMaximum(CalendarField) |
Retorna o valor máximo que esse campo poderia ter, dada a data atual. |
| GetActualMinimum(CalendarField) |
Retorna o valor mínimo que esse campo poderia ter, dada a data atual. |
| GetAvailableLocales() |
Retorna a lista de localidades para as quais os Calendários estão instalados. |
| GetDateTimeFormat(DateFormatStyle, Int32, Locale) |
<strong>[icu]</strong> Retorna um |
| GetDateTimeFormat(DateFormatStyle, Int32, ULocale) |
<strong>[icu]</strong> Retorna um |
| GetDisplayName(Locale) |
Retorna o nome deste calendário no idioma da localidade fornecida. |
| GetDisplayName(ULocale) |
Retorna o nome deste calendário no idioma da localidade fornecida. |
| GetFieldResolutionTable() |
Retorna a matriz de resolução de campo para este calendário. |
| GetGreatestMinimum(CalendarField) |
Retorna o valor mínimo mais alto para o campo fornecido, se variar. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetInstance(Locale) |
Retorna um calendário usando o fuso horário padrão e a localidade especificada. |
| GetInstance(TimeZone, Locale) |
Retorna um calendário com o fuso horário e a localidade especificados. |
| GetInstance(TimeZone, ULocale) |
Retorna um calendário com o fuso horário e a localidade especificados. |
| GetInstance(TimeZone) |
Retorna um calendário usando o fuso horário especificado e a localidade padrão. |
| GetInstance(ULocale) |
Retorna um calendário usando o fuso horário padrão e a localidade especificada. |
| GetKeywordValuesForLocale(String, ULocale, Boolean) |
<strong>[icu]</strong> Dada uma chave e uma localidade, retorna uma matriz de valores de cadeia de caracteres em uma ordem preferencial que faria a diferença. |
| GetLeastMaximum(CalendarField) |
Retorna o valor máximo mais baixo para o campo especificado, se variar. |
| GetLimit(CalendarField, Int32) |
Retorna um limite para um campo. |
| GetMaximum(CalendarField) |
Retorna o valor máximo para o campo de tempo fornecido. |
| GetMinimum(CalendarField) |
Retorna o valor mínimo para o campo de tempo determinado. |
| GetStamp(CalendarField) |
Retorna o carimbo de data/hora de um campo. |
| GetWeekData() |
[UTI] Retorne uma classe simples e imutável semelhante a struct para acesso aos dados da semana neste calendário. |
| GetWeekDataForRegion(String) |
[UTI] Retornar classe struct simples e imutável para acesso aos dados da semana CLDR. |
| GregorianMonthLength(Int32, Int32) |
Retorna o comprimento de um mês do calendário gregoriano. |
| GregorianPreviousMonthLength(Int32, Int32) |
Retorna o comprimento de um mês anterior do calendário gregoriano. |
| HandleComputeFields(Int32) |
As subclasses podem substituir esse método para calcular vários campos específicos para cada sistema de calendário. |
| HandleComputeJulianDay(Int32) |
Subclasses podem substituir isso. |
| HandleComputeMonthStart(Int32, Int32, Boolean) |
Retorna o número de dia juliano de um dia antes do primeiro dia do mês determinado no determinado ano estendido. |
| HandleCreateFields() |
Subclasses que usam campos adicionais além daqueles definidos |
| HandleGetDateFormat(String, Locale) |
Cria um |
| HandleGetDateFormat(String, String, Locale) |
Cria um |
| HandleGetDateFormat(String, ULocale) |
Cria um |
| HandleGetExtendedYear() |
Retorna o ano estendido definido pelos campos atuais. |
| HandleGetLimit(CalendarField, Int32) |
API de subclasse para definir limites de diferentes tipos. |
| HandleGetMonthLength(Int32, Int32) |
Retorna o número de dias no mês determinado do determinado ano estendido deste sistema de calendário. |
| HandleGetYearLength(Int32) |
Retorna o número de dias no ano estendido determinado deste sistema de calendário. |
| InTemporalLeapYear() |
<strong>[icu]</strong> Retorna true se a data estiver em um ano bissexto. |
| InternalGet(CalendarField, Int32) |
Retorna o valor de um determinado campo de tempo ou retorna o valor padrão fornecido se o campo não estiver definido. |
| InternalGet(CalendarField) |
Retorna o valor de um determinado campo de tempo. |
| InternalGetTimeInMillis() |
Retorna os milissegundos atuais sem recompilação. |
| InternalSet(CalendarField, Int32) |
Defina um campo como um valor. |
| InvokeIsWeekend(Date) |
<strong>[icu]</strong> Retorna true se a data e hora fornecidas estiverem no fim de semana neste sistema de calendário. |
| IsEquivalentTo(Calendar) |
<strong>[icu]</strong> Retorna true se o objeto Calendar fornecido for equivalente a este. |
| IsGregorianLeapYear(Int32) |
Determina se o ano determinado é um ano bissexto. |
| IsSet(CalendarField) |
Determina se o campo de tempo determinado tem um conjunto de valores. |
| JavaFinalize() |
Obsoleto.
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| JulianDayToDayOfWeek(Int32) |
Retorna o dia da semana, de DOMINGO a SÁBADO, dado um dia juliano. |
| JulianDayToMillis(Int32) |
Converte Julian day em tempo como milissegundos. |
| MillisToJulianDay(Int64) |
Converte o tempo como milissegundos no Dia do Juliano. |
| NewerField(Int32, Int32) |
Retorna o campo mais recente, defaultField ou alternateField. |
| NewestStamp(Int32, Int32, Int32) |
Retorna o carimbo mais recente de um determinado intervalo de campos. |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| PinField(CalendarField) |
Ajuste o campo especificado para que ele esteja dentro do intervalo permitido para a data em que esse calendário está definido. |
| PrepareGetActual(CalendarField, Boolean) |
Prepare este calendário para calcular o mínimo ou o máximo real. |
| ResolveFields(Int32[][][]) |
Dada uma tabela de precedência, retorne a combinação de campo mais recente na tabela ou -1 se nenhuma for encontrada. |
| Roll(CalendarField, Boolean) |
Rola (para cima/para baixo) uma única unidade de tempo no campo determinado. |
| Roll(CalendarField, Int32) |
Rola (para cima/para baixo) um tempo de quantidade especificado no campo determinado. |
| Set(CalendarField, Int32) |
Define o campo de tempo com o valor fornecido. |
| Set(Int32, Int32, Int32, Int32, Int32, Int32) |
Define os valores dos campos ano, mês, data, hora, minuto e segundo. |
| Set(Int32, Int32, Int32, Int32, Int32) |
Define os valores dos campos ano, mês, data, hora e minuto. |
| Set(Int32, Int32, Int32) |
Define os valores dos campos ano, mês e data. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| SetWeekData(Calendar+WeekData) |
[UTI] Defina dados neste calendário com base na entrada WeekData. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| ValidateField(CalendarField, Int32, Int32) |
Valide um único campo deste calendário, considerando seu valor mínimo e máximo permitido. |
| ValidateField(CalendarField) |
Valide um único campo deste calendário. |
| ValidateFields() |
Verifique se cada campo está dentro de seu intervalo válido chamando |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| WeekNumber(Int32, Int32, Int32) |
Retorna o número da semana de um dia, dentro de um período. |
| WeekNumber(Int32, Int32) |
Retorna o número da semana de um dia, dentro de um período. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IComparable.CompareTo(Object) |
Compara esse objeto com o objeto especificado para a ordem. |
| IJavaPeerable.Disposed() |
<strong>[icu enhancement]</strong> ICU's replacement for |
| IJavaPeerable.Finalized() |
<strong>[icu enhancement]</strong> ICU's replacement for |
| IJavaPeerable.JniObjectReferenceControlBlock |
<strong>[icu enhancement]</strong> ICU's replacement for |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| IJavaPeerable.UnregisterFromRuntime() |
Remove essa instância da pesquisa de objeto Java do runtime. |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
<strong>[icu enhancement]</strong> ICU's replacement for |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |